Unity中 ShaderGraph 實現旋渦傳送門效果入門級教程(推薦)
若你的工程還沒有進行基礎配置,請查看我的博文Unity 之 ShaderGraph入門使用詳解,按照步驟操作完成配置即可,還能順便學習一下基礎操作流程哦~
本文手把手教你制作旋渦效果,入門級教程,還不快動手試試?
一,最終效果展示
老規矩,直接上效果圖:
二,創建PBRGraph
在Project面板右鍵 –> Create –> Shader –> PBRGraph:
重命名:RPAShaderGraph(隨意)
雙擊RPAShaderGraph打開編輯界面
三,實現原理介紹
通過Twirl 旋轉節點對Gradient Noise 梯度噪聲節點進行操作,就可得到一個旋轉的旋渦效果。
然後我們添加時間節點調整Twir的偏移量,讓其自動轉起來,這個動態的旋渦效果基本就實現瞭。
四,完整效果實現
就接著三種的效果,繼續說吧:
在“PBRGraph”面板空白處 右鍵 –> 選擇“Create Note” 創建Twirl(直接搜索名字即可)。
同理創建“Gradient Noise” 和 “Time” 節點,然後將其輸入輸出連接如下圖:
現在我們已經有瞭一個動態的旋渦,在一中的效果圖上我們可以看到,它並不是黑白色的,下面修改一下顏色:
創建“Color”顏色節點 和 “Multiply”乘法節點,我們將“Gradient Noise”節點的輸出 和 “Color”顏色節點的輸出都連接到“Multiply”乘法節點的輸入上:
然後修改下“Color”節點的顏色,就可以得到一個其他顏色的旋渦瞭:
接下來,將帶有顏色旋渦的“Multiply”乘法節點輸出,連接到”PBR Master”主節點的Albode
輸入上,即可在預覽圖上看到旋渦的效果上瞭:
現在預覽效果上顯示的是一個正方形的,這個樣子看起來有點醜奧~ 而且和想要的效果也不一致,那怎麼辦呢?
添加一個圓形的遮罩不就行瞭:添加“Ellipse” 圓形節點,將其輸入節點的寬高調整為0.8,然後將輸出節點,連接到”PBR Master”主節點的Alpha
輸入上:
然後在點擊Master 主節點的“設置”按鈕,將“Surface”屬性設置為“Transparent” 透明的,即可得到被遮罩的效果瞭:
其實這時的旋渦效果以及完成瞭,下面我們添加兩個變量,來對旋轉時間和旋渦的大小進行控制,這樣我們就可以在材質球上進行數值修改,從而方便的得到想要的效果。
在“Blackboard” 上創建一個“Verctor1”的變量,將其拖拽到空白處,並賦值給“Twirl”的“Strength”輸入,操作步驟如下:
同理我們在創建一個“Verctor1”變量,然後創建一個“Multiply” 乘法節點,將其“Time”和”V1″相乘後,輸出給“Twirl”的“Offset”輸入:
至此全部制作就完成瞭,完整RPA Graph如下:
PS:註意需要將主節點的“Surface”屬性設置為“Transparent”透明的,上圖並沒有體現出來哦~
五,應用到場景中
在“RPA Graph” 編輯界面右上角,點擊“Save Asset” 保存一下。然後創建材質球,將其材質選定為剛剛保存的這個“RPAShaderGraph”。
這裡提供一個快捷創建材質球的方法,鼠標選中我們保存的“RPAShaderGraph”文件,然後右鍵創建材質球,這樣我們創建出來的材質球,就自動使用這個Shader瞭。
最後一步,創建“Plane”將其材質賦值為上面創建的材質球,可以得到最終效果,這時我們可以編輯之前設置好的“Streght”和“Time”屬性的值,就可以直接調節想要的效果瞭:
到此這篇關於Unity中 ShaderGraph 實現旋渦傳送門效果入門級教程(推薦)的文章就介紹到這瞭,更多相關Unity ShaderGraph旋渦傳送門內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 淺談Unity中的Shader
- Unity圖形學之ShaderLab入門基礎
- 擎動賦能跨端遊戲創作力,Unity即將亮相2021年ChinaJoy BTOB展區
- Unity Shader實現動態過場切換圖片效果
- unity置灰處理的實現