Unity 之 ShaderGraph 實作超級炫酷的溶解效果入門級教程
- 前言
- 一,效果展示
- 二,原理介紹
- 三,實作效果
- 四,使用示例
- 五,完整圖示
前言
若你的工程還沒有進行基礎配置,請查看我的博文Unity 之 ShaderGraph入門使用詳解,按照步驟操作完成配置即可,還能順便學習一下基礎操作流程哦~
本文手把手教你制作超級炫酷的溶解效果,入門級教程,還不快動手試試?有經驗的童鞋可以直接跳到最后一步,按照圖示搭建即可,
一,效果展示
老規矩,直接上效果圖:(最高端的效果只需要最簡單的模型呈現)

沒學習Shader Graph之前:我靠😱 !這效果有點牛啊,那個大佬寫的?
學習了Shader Graph之后:我去😒 !就這?豈不是有手就行?
二,原理介紹
通過主節點Alpha Clip Thresholdα剪輯閾值屬性,來控制顯示隱藏(取值范圍0-1),意為Alpha輸入的大于“α剪輯閾值”則顯示,否則隱藏,(Alpha:0-1代表白色-黑色)
創建Simple Noise節點控制Alpha,調節Simple Noise節點Scale屬性控制大小,調整Alpha Clip Threshold控制顯示隱藏,效果如下:

怎么樣?是不是覺得看完原理介紹就不用往下看了?
讀者😈 :就這?😒 在此基礎上隨便加一個Time時間節點控制一下自動溶解,再加一個Color顏色節點修改下顏色不就實作了開篇時展示的效果,這么簡單的制作也好意思單獨拿出來水一篇文章?
嘗試第一步,添加顏色節點,連接如下圖,結果發現不但顏色沒加上,預覽圖連球都顯示不出來了🙃 …

嘗試第二步,添加顏色節點,連接如下圖,結果發現溶解效果是有顏色了,但是效果看起來還不如不加顏色了…

作者👿 :Emm…🙄 雖說我這是入門級文章,要是這么簡單也不至于寫這么長吧,如果你做到了第二步這個效果的話,距離成功就還差一點點了(使用Step節點)要是明白了呢?就去嘗試,表示看不懂什么意思的話,還是繼續往下看吧~
三,實作效果
-
準備作業
在Project面板右鍵 --> Create --> Shader --> PBRGraph(我這里命名為“DissolvePBRGraph”),然后雙擊打開編輯器面板:

-
實作溶解
創建兩個Vector 1節點并將其設定為公開屬性(選中節點右鍵選擇“Convert To Property”)分別命名為"Width"和”NoiseScale“,然后創建Simple Noise節點,和主節點連接情況如下:

-
添加顏色
創建Color顏色節點的并將其設定為公開屬性,創建Step節點(作用:如果輸入In的值大于或等于輸入Edge的值,則回傳 1,否則回傳 0,)創建Multiply乘法節點,連接情況如下:

PS:這里我將Color顏色節點的模式調整為HDR是為了增加亮度,可按需修改, -
自動溶解
創建Time時間節點,為了效果我選擇使用其Sine Time輸出,所以為保證輸出值一直為正數,添加Remap節點控制其輸出映射為0-1之間,然后添加Add加法節點,用于連接時間節點和"Width"屬性值,最終連接情況如下:

記得點擊左上角的"Save Asset"保存一下哦~
四,使用示例
-
創建材質球并使用剛制作的Shader
這里提供一個快捷創建材質球的方法,滑鼠選中我們保存的“DissolvePBRGraph”檔案,然后右鍵創建材質球,這樣我們創建出來的材質球,就自動使用這個Shader了,

-
在“Hierarchy”面板創建Sphere,并將剛剛創建的材質球賦值給它,得到結果如下:

-
若需要多個不同顏色不同效果的溶解效果,復制材質球修改公開屬性即可,
五,完整圖示

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289791.html
標籤:其他
上一篇:怎么用java實作人機猜拳?
