游戲原型系列 vol.5 ShaderGraph簡(jiǎn)介 - 2019.3
摘要
????在Unity的早期版本中,創(chuàng)建專用材質(zhì)的唯一方法是對(duì)自定義著色器進(jìn)行編程或使用外部插件。隨著2018年的發(fā)布,Unity現(xiàn)在擁有自己的原生ShaderGraph,可用于使用節(jié)點(diǎn)構(gòu)建外觀復(fù)雜的材質(zhì)。
與在編輯器中編寫代碼,保存,編譯和測(cè)試的過程不同,ShaderGraph可實(shí)時(shí)顯示材質(zhì)的狀態(tài),使你可以即時(shí)進(jìn)行更改和試驗(yàn)。
1.創(chuàng)建圖和第一個(gè)節(jié)點(diǎn)
在教程開始之前,請(qǐng)確保將Unity版升級(jí)到2019.3。
1. 在“項(xiàng)目”窗口中,創(chuàng)建一個(gè)名為“ Shader Graph”的新文件夾。
2. 在“項(xiàng)目”窗口中右鍵單擊,然后從“ Create” 彈出窗口中,導(dǎo)航到“Shader”,然后選擇“ UnlitGraph” 。在“項(xiàng)目”窗口中將生成一個(gè)新的著色器圖。 (圖01 )。

3. 將新的著色器圖命名為“ CheckerShader”。
4. 雙擊CheckerShader以打開“ Shader Graph”窗口。
5. 將“Shader Graph(著色器圖)”窗口??吭凇癙roject(項(xiàng)目)”窗口的后面。
6. 右鍵單擊或按下工作區(qū)中的空格鍵,然后選擇“Create Node(創(chuàng)建節(jié)點(diǎn))”(圖02 )。

7. 在Create Node窗口的頂部,搜索2D并選擇Texture 2D Asset(圖03 )。

8. 對(duì)Sample Texture 2D重復(fù)此過程(圖04 )。

9. 在Texture2D資產(chǎn)底部的紋理插槽中,單擊“單選”按鈕并搜索所需的紋理。
10. 左鍵單擊并拖動(dòng)Texture2D資產(chǎn)中間的Out(T)圓以拉出連接線。
11. 將連接器拖到Sample Texture 2D Texture(T)輸入上(圖05 )。

2.建立在圖上
1. 在兩個(gè)節(jié)點(diǎn)之間的工作區(qū)域中單擊鼠標(biāo)左鍵并拖動(dòng)以選擇它們。
2. 按CTRL + D (Windows)或Command + D (MacOS)復(fù)制它們。將它們移動(dòng)到其他兩個(gè)節(jié)點(diǎn)的下方。
3. 在第二個(gè)Texture2D資產(chǎn)節(jié)點(diǎn)中,搜索并應(yīng)用要與之混合的輔助紋理,例如Gradient紋理(圖06 )。

5. 創(chuàng)建一個(gè)新節(jié)點(diǎn),這次選擇“Tiling and Offset(平鋪和偏移)”。
6. 將Tiling and Offset Out(2)節(jié)點(diǎn)拖到Checker Sample 2D節(jié)點(diǎn)。
7. 將“ 平鋪和偏移平鋪(2)” 輸入節(jié)點(diǎn)的X和Y設(shè)置為3(圖07 )。

3.混合紋理
1. 創(chuàng)建一個(gè)Divide節(jié)點(diǎn)。
2. 將Checker Sample 2D Node 的A(1)輸出拖動(dòng)到A(1)Divide Node輸入。
3. 將Divide Node(除法節(jié)點(diǎn))的B(1)X輸入設(shè)置為20(圖08 )。

4. 創(chuàng)建一個(gè)Blend Node(混合節(jié)點(diǎn))。
5. 將Divide Out(1)輸出連接到第一個(gè)Blend Base(1)輸入。
6. 將Gradient Sample Texture2DA(1)輸出連接到第二個(gè)Blend Base(1)輸入(圖09 )。

4.添加顏色并連接著色器
1. 創(chuàng)建一個(gè)Color Node(顏色節(jié)點(diǎn))。
2. 將顏色節(jié)點(diǎn)設(shè)置為明亮的青色,并將模式設(shè)置為HDR。
3. 創(chuàng)建另一個(gè)Blend Node(融合節(jié)點(diǎn))。
4. 將第一個(gè)Sample Texture2D節(jié)點(diǎn)的RGBA(4)輸出連接到新Blend 的第一個(gè)Base(4)節(jié)點(diǎn)。
5. 將Color Nodes Out(4)輸出連接到Blends第二Base(4)(圖10 )。

6. 將“ Blend? Nodes Mode(混合節(jié)點(diǎn)模式)” 設(shè)置為“ Darken(變暗)” (圖11 )。

7. 將Blue Blend Nodes Out(4)輸出拖到Unlit Masters Color(3)輸入。
8. 將“ Gradient Blend Nodes Out(4)” 輸出拖到“ Unlit Masters Alpha(1)” 輸入。
9. 點(diǎn)擊Unlit Master節(jié)點(diǎn)右上方的齒輪并將Surface(表面)?設(shè)置為Transparent (透明)。
10. 在“ Shader Graph”窗口的左上角,單擊“Save Asset(保存資產(chǎn))”(圖12 )。

5.結(jié)論
著色器圖功能極其強(qiáng)大,并且可能變得非常復(fù)雜。有許多節(jié)點(diǎn)可供選擇。既然您已經(jīng)了解了如何創(chuàng)建著色器圖的基礎(chǔ)知識(shí),請(qǐng)嘗試創(chuàng)建自己的著色器圖。