Shader一直是Unity開發者的一個難關,涉及到數學、圖形學、shader語法等多個難題。不過,ShaderGraph來拯救你了!Unity2018的一個重磅功能是ShaderGraph,通過可視化界面拖拽就可以實現着色器的創建和編輯。

配置使用ShaderGraph
目前最新版本Unity(2018.1b13)中的Shader Graph只支持Lightweight Render Pipeline, 當然后續會支持HD Render Pipeline以及用戶自定義的pipeline。在Unity 2018中,采用了PackageManager來管理Unity的眾多新功能,包括Shader shader包和Lightweight Render Pipeline包。
1、確保下載最新的Unity2018 Beta版本(b13),下載地址是:https://unity3d.com/cn/unity/beta-download
當然了,也可以通過UnityHub一鍵下載安裝。
2、安裝Lightweight Render Pipeline和ShaderGraph包。
有兩種方式:
1)在菜單欄Window > PackageManager的All 標簽頁中下載組件包

2)通過手動設置Unity工程下Packages/manifest.json文件

目前通過Package Manager只能下載最新版本的包,而通過manifest文件可以設置使用任意版本的包。如果有時候新版本的包和Unity版本不兼容的話,可以通過manifest文件回退到之前的舊版本。
3、創建設置SRP(可編程渲染管線)
1)菜單欄Assets > Create > Rendering>Lightingweight Pipeline Asset,會創建出來一個文件,這是渲染管線的配置文件。

2)在菜單欄 Edit > Project Settings > Graphics中設置剛才的SRP文件

經過這些設置,現在就可以開始使用ShaderGraph了!
創建ShaderGraph文件
通過菜單欄 Create > Shader > *** Graph 可以創建ShaderGraph文件,會在Project創建一個graph文件。

PBR Graph PBR圖
Sub Graph 子圖,用於創建一些可復用的節點
Unlit Graph 不受光照的圖
ShaderGraph窗口
我們先創建一個PBRGraph來看一看。雙擊graph文件即可打開ShaderGraph窗口。

ShaderGraph的圖是以節點和連線組成的,默認創建出來會有一個Master Node(主節點)。你可以通過把其他節點連接到Master Node來創造你想要的效果。
編輯節點的屬性
如下圖所示,你可以通過編輯默認的數值快速改變物體的表面屬性。

添加節點
添加紋理和其他復雜的交互操作,只要右鍵點擊並選擇“Create Node”。

連接節點
通過拖拽對應的值即可創建連線。

創建輸入變量
一個shader當然必不可少要有輸入的變量了,這在ShaderGraph中也很簡單。

使用輸入變量
你可以給輸入變量設置一個默認值,方便調試。

在Graph中使用這個變量也很簡單,只需要將變量拖入圖中,和其他節點創建連線即可。

自定義預覽模型
ShaderGraph右下角有一個預覽窗口,可以選擇內置的5種和自定義的模型來更好的預覽Shader的效果。

材質球使用Shader
Shader調好以后,當然最最終要應用到材質球上。材質球的Shader選擇菜單中會多出一個graphs的類別,下面就是你創建的ShaderGraph對應的shader。

總結
本文講了如何配置、創建、編輯、使用ShaderGraph。后面幾天我將通過實例的方式講解ShaderGraph如何實戰應用。
作者:鄭洪智_技術探路者
鏈接:https://www.jianshu.com/p/d0b3f87f84ca
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。