1. 程式人生 > >[Unity2018.2]ShaderGraph更新詳解

[Unity2018.2]ShaderGraph更新詳解

洪流學堂,讓你快人幾步!本文首發於洪流學堂微信公眾號。

洪流學堂公眾號回覆節點,獲取ShaderGraph節點詳解PDF檔案(帶目錄)。

ShaderGraph 2018.2 更新詳解

在2018.1中,Shader Graph作為Unity的新功能,以預覽版的形式呈現。通過ShaderGraph可以直觀地構建著色器。可以在圖形介面中建立和連線節點,而不需要編寫程式碼。圖中的每個節點都可以對更改即時反饋,大大降低了編寫著色器的門檻。

Unity2018.2也對ShaderGraph(3.0.0)進行了很多優化和改進,包括:

高清渲染管道(HDRP)支援

Shader Graph現在支援PBR和Unlit主節點的HDRP。使用ShaderGraph構建的著色器可與LWRP和HDRP一起使用。

頂點位置

現在可以通過PBR和Unlit主節點上的Position欄位修改頂點位置。預設情況下,此節點的輸入是物件空間位置。此欄位應該輸入給定頂點的絕對本地位置。某些節點(例如程式形狀Procedural Shapes)在頂點著色器中不可行。此類節點與此欄位不相容。

主節點設定

主節點的設定現在可在一個小視窗中使用,可以開啟和關閉該視窗來更改著色器的各種渲染設定。

屬性引用名稱和公開狀態

現在可以編輯屬性的引用名稱,從而更容易從指令碼引用著色器屬性。選擇屬性並在Reference旁邊設定新名稱。如果要重置為預設名稱,請右鍵單擊Reference,然後選擇 Reset Reference。

在屬性視窗中,現在還可以切換Exposed複選框,來設定屬性是否公開。

可編輯路徑

現在可以更改著色器圖和子圖的路徑。更改著色器圖形的路徑時,將修改其在著色器選擇列表中的位置。更改子圖的路徑時,它將在節點建立選單中具有不同的位置。

Is FrontFace節點

使用此節點,你可以根據給定片段的朝向標識更改圖形輸出。如果當前片段是正面的一部分,則節點返回True。對於背面,節點返回False。注意:此功能需要在主節點上啟用雙面

漸變節點

通過兩個新節點添加了漸變功能。Sample Gradient節點使用給定的Time引數對漸變進行取樣。您可以在漸變欄位控制元件檢視上定義此漸變。Gradient Asset節點定義了一個漸變,可以使用不同的時間引數對多個Sample Gradient節點進行取樣。

Texture3D和Texture2D陣列

通過兩個新屬性型別和四個新節點擴充套件了Unity對Texture型別的支援。可以在著色器圖中定義和取樣Texture 3D和Texture 2D Array型別資源。

Texture2D LOD節點

這個新節點為Texture 2D Sample添加了LOD功能。Sample Texture 2D LOD使用與Sample Texture 2D相同的輸入和輸出欄,但包括通過Vector1輸入引數調整細節級別的輸入。

顯示生成的程式碼

現在可以看到任何特定節點的生成程式碼。右鍵單擊該節點,然後選擇Show Generated Code。程式碼段將在Unity的程式碼編輯器中開啟。

小結

本文講解了ShaderGraph 2018.2更新的內容,此外ShaderGraph節點詳解PDF檔案也已更新到此版本。

洪流學堂公眾號回覆節點,獲取ShaderGraph節點詳解PDF檔案(帶目錄)。

你有沒有飽受shader折磨的同學?你可以把今天的內容分享給他,或許你能幫到他。



《鄭洪智的Unity2018課》,傾盡我8年的開發經驗,結合最新的Unity2018,帶你從入門到精通。