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

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

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

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

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

基本上搭配Sub Graph,主要兩個原因,
1.先做好一些常用效果
2.介面可以更乾淨
但必須注意,有些功能compile在shader graph會壞掉,需要靠警告來做修正,我自己遇到的是 “Is Front Face",根據厲害同事解釋,Sub Graph 在shader code裡是一串function,但shader graph的底層如果沒有宣告這些參數,會讓shader壞掉,所以在使用Sub Graph也需要注意,錯誤訊息。