Unity Shader Graph Sub Graph 應用

Sub Graph的好處是,可自定義好想要的shader,再搭配PBR shader 做應用;而呼叫Sub Graph如(圖一),在Asset空白處右鍵叫出。

(圖一)

而Sub Graph介面如(圖二),右上方black board跟PBR shader一樣可以添加外部控制參數,中間SubGraphOutputs則可以自定義添加要多少個output選單。

(圖二) Sub Graph 介面

以下做一個基本Fresnel效果做為範例,基本上會在Sub Graph先做好想要的外框效果與控制BAR (圖三)

(圖三) 外框效果在sub graph製作

接著到Shader Graph 呼叫剛剛做好的外框效果近來(圖四),名稱可以自定義,這邊我已預設為範本。

(圖四) 呼叫SubGraph

記得在右上的Black Board定義好可控制參數(這點有點麻煩),在將效果串接到想要的通道上(圖五)

(圖五) 串接效果

基本上搭配Sub Graph,主要兩個原因,
1.先做好一些常用效果
2.介面可以更乾淨

但必須注意,有些功能compile在shader graph會壞掉,需要靠警告來做修正,我自己遇到的是 “Is Front Face",根據厲害同事解釋,Sub Graph 在shader code裡是一串function,但shader graph的底層如果沒有宣告這些參數,會讓shader壞掉,所以在使用Sub Graph也需要注意,錯誤訊息。

發表留言