前言
在Unity2018發表後同時發表了如上圖的Shader Graph特效,Shader Graph變成各個遊戲開發創作者深入探討研究的重點之一,從圖中我們可以看到Shader Graph不僅僅是製作PRB material的媒介,更是讓material升級成為各種無限想像的可能。
目的
在練習Shader Grpah的過程中並不是單純只是為了自駕車的專案,更可以發揮在未來的展場以及互動效果上面,透過不同的Shader練習更可以加強自己本身對於Node以及Unity裡面的觀念熟悉,在未來的需求可能會有更多的影片或是互動設計需求,因此我們需要再需求出現之前做好準備,不管是產品行銷或是影像展現上會有更上一層樓的良好發展。
以下以DISSOLVE(溶解)效果利用Unity Shader Graph練習製作實際案例。
Step1. 首先在你建立好的資料夾按右鍵選擇PBR Shader, 因為這次我們主要會用到Shader Graph裡面AlphaClipThreshold通道,所以建議選用PBR Graph。
Step2. 接著直接開始剛剛建立好的Shader Grpah,這裏因為要製作溶解的效果,建議將base color調深色。
Step3. 這時候我們來做個簡單的測試,先在空白處新增Simple Noise並將數值條小讓Noise不要這麼密集,再來新增一個Vetor1 連結到AlphaClip進行調整數值看看。
因為在Alpha Clip 通道的texture的黑灰白都是以數值0跟1為主, 所以這邊都不是純黑跟純白,而這些0.1-0.9的數值則以0.7為中間值,大於0.7的為可見的,而小於0.7的則為不可見的,如果有用過PS做過mask的話也是同樣的道理。
Step 4. 因為原本的Vector屬性只能單方面的進行調整溶解效果,這時候我們把原本的Vector刪除並建立時間NODE以及REMAP NODE,串到原本的Alpha Clip通道就完成了第一階段的動畫特效。
將剛剛建立好的Shader Grpah材質球丟給模型,你會發現我們完成了第一階段的溶解動畫。
Step 5 . 再來我們來製作溶解的過程中帶有發光效果,首先建立一個Add Node並將output連接到Step通道,這邊Add的X 數值則代表著發光亮的數值,這邊將數值調整為0.01讓發光亮不要太大看起來比較自然。
Step 6. 接著我們來加入發光效果的顏色,首先先建立一個Color Node再拉一個Multiplay相乘,最後將通道拉到Emission通道,這時候就會發現我們剛建立好的發光效果有顏色了。
Step 7. 接著我們來將設定好的另外兩個Node變成屬性以利在面板上直接調整,在左邊的視窗點選+建立Vector1,重新命名並輸入原本設定的數值拉進去,然後連接通道後儲存asset,我們回到Scene就會看到Material的面板變成可以調整的屬性了。
從面板上可以看到剛剛串好的屬性
小結
因為此次的練習為非常簡易的建立Dissolve效果,如果有興趣的話可以透過PBR通道建立譬如金屬或是汽車烤漆的特效,或是利用其他的Texture製作效果,Shader Graph最棒的地方就是可以利用不同的堆砌不同的素材製作出超棒的material。
官方教學