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!

推薦閱讀: