Unity中 ShaderGraph 實(shí)現(xiàn)旋渦傳送門效果入門級(jí)教程(推薦)
若你的工程還沒(méi)有進(jìn)行基礎(chǔ)配置,請(qǐng)查看我的博文Unity 之 ShaderGraph入門使用詳解,按照步驟操作完成配置即可,還能順便學(xué)習(xí)一下基礎(chǔ)操作流程哦~
本文手把手教你制作旋渦效果,入門級(jí)教程,還不快動(dòng)手試試?
一,最終效果展示
老規(guī)矩,直接上效果圖:
二,創(chuàng)建PBRGraph
在Project面板右鍵 --> Create --> Shader --> PBRGraph:
重命名:RPAShaderGraph(隨意)
雙擊RPAShaderGraph打開(kāi)編輯界面
三,實(shí)現(xiàn)原理介紹
通過(guò)Twirl 旋轉(zhuǎn)節(jié)點(diǎn)對(duì)Gradient Noise 梯度噪聲節(jié)點(diǎn)進(jìn)行操作,就可得到一個(gè)旋轉(zhuǎn)的旋渦效果。
然后我們添加時(shí)間節(jié)點(diǎn)調(diào)整Twir的偏移量,讓其自動(dòng)轉(zhuǎn)起來(lái),這個(gè)動(dòng)態(tài)的旋渦效果基本就實(shí)現(xiàn)了。
四,完整效果實(shí)現(xiàn)
就接著三種的效果,繼續(xù)說(shuō)吧:
在“PBRGraph”面板空白處 右鍵 --> 選擇“Create Note” 創(chuàng)建Twirl(直接搜索名字即可)。
同理創(chuàng)建“Gradient Noise” 和 “Time” 節(jié)點(diǎn),然后將其輸入輸出連接如下圖:
現(xiàn)在我們已經(jīng)有了一個(gè)動(dòng)態(tài)的旋渦,在一中的效果圖上我們可以看到,它并不是黑白色的,下面修改一下顏色:
創(chuàng)建“Color”顏色節(jié)點(diǎn) 和 “Multiply”乘法節(jié)點(diǎn),我們將“Gradient Noise”節(jié)點(diǎn)的輸出 和 “Color”顏色節(jié)點(diǎn)的輸出都連接到“Multiply”乘法節(jié)點(diǎn)的輸入上:
然后修改下“Color”節(jié)點(diǎn)的顏色,就可以得到一個(gè)其他顏色的旋渦了:
接下來(lái),將帶有顏色旋渦的“Multiply”乘法節(jié)點(diǎn)輸出,連接到”PBR Master”主節(jié)點(diǎn)的Albode
輸入上,即可在預(yù)覽圖上看到旋渦的效果上了:
現(xiàn)在預(yù)覽效果上顯示的是一個(gè)正方形的,這個(gè)樣子看起來(lái)有點(diǎn)丑奧~ 而且和想要的效果也不一致,那怎么辦呢?
添加一個(gè)圓形的遮罩不就行了:添加“Ellipse” 圓形節(jié)點(diǎn),將其輸入節(jié)點(diǎn)的寬高調(diào)整為0.8,然后將輸出節(jié)點(diǎn),連接到”PBR Master”主節(jié)點(diǎn)的Alpha
輸入上:
然后在點(diǎn)擊Master 主節(jié)點(diǎn)的“設(shè)置”按鈕,將“Surface”屬性設(shè)置為“Transparent” 透明的,即可得到被遮罩的效果了:
其實(shí)這時(shí)的旋渦效果以及完成了,下面我們添加兩個(gè)變量,來(lái)對(duì)旋轉(zhuǎn)時(shí)間和旋渦的大小進(jìn)行控制,這樣我們就可以在材質(zhì)球上進(jìn)行數(shù)值修改,從而方便的得到想要的效果。
在“Blackboard” 上創(chuàng)建一個(gè)“Verctor1”的變量,將其拖拽到空白處,并賦值給“Twirl”的“Strength”輸入,操作步驟如下:
同理我們?cè)趧?chuàng)建一個(gè)“Verctor1”變量,然后創(chuàng)建一個(gè)“Multiply” 乘法節(jié)點(diǎn),將其“Time”和"V1"相乘后,輸出給“Twirl”的“Offset”輸入:
至此全部制作就完成了,完整RPA Graph如下:
PS:注意需要將主節(jié)點(diǎn)的“Surface”屬性設(shè)置為“Transparent”透明的,上圖并沒(méi)有體現(xiàn)出來(lái)哦~
五,應(yīng)用到場(chǎng)景中
在“RPA Graph” 編輯界面右上角,點(diǎn)擊“Save Asset” 保存一下。然后創(chuàng)建材質(zhì)球,將其材質(zhì)選定為剛剛保存的這個(gè)“RPAShaderGraph”。
這里提供一個(gè)快捷創(chuàng)建材質(zhì)球的方法,鼠標(biāo)選中我們保存的“RPAShaderGraph”文件,然后右鍵創(chuàng)建材質(zhì)球,這樣我們創(chuàng)建出來(lái)的材質(zhì)球,就自動(dòng)使用這個(gè)Shader了。
最后一步,創(chuàng)建“Plane”將其材質(zhì)賦值為上面創(chuàng)建的材質(zhì)球,可以得到最終效果,這時(shí)我們可以編輯之前設(shè)置好的“Streght”和“Time”屬性的值,就可以直接調(diào)節(jié)想要的效果了:
到此這篇關(guān)于Unity中 ShaderGraph 實(shí)現(xiàn)旋渦傳送門效果入門級(jí)教程(推薦)的文章就介紹到這了,更多相關(guān)Unity ShaderGraph旋渦傳送門內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c# openxml 刪除xlsx、xls的外鏈?zhǔn)纠a
要?jiǎng)h除一個(gè) Excel 文件(.xlsx)中的外部鏈接(external links),你可以使用 OpenXML SDK,本文演示如何使用 OpenXML SDK 刪除外部鏈接,感興趣的朋友一起看看吧2024-01-01在C#中調(diào)用VBScript、javascript等腳本的實(shí)現(xiàn)代碼
在C#中調(diào)用VBScript、javascript等腳本的實(shí)現(xiàn)步驟,需要的朋友可以參考下。2009-11-11C#正則表達(dá)式匹配HTML中的圖片路徑,圖片地址代碼
最近的項(xiàng)目中有個(gè)關(guān)于網(wǎng)頁(yè)取圖的功能需要我自己開(kāi)發(fā),那就是用正則表達(dá)式來(lái)匹配圖片標(biāo)簽,這里簡(jiǎn)單介紹下實(shí)現(xiàn)方法,需要的朋友可以參考下2013-12-12C#實(shí)現(xiàn)動(dòng)態(tài)圖標(biāo)閃爍顯示的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)動(dòng)態(tài)圖標(biāo)閃爍顯示的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以了解一下2022-12-12