Unity2018新功能搶鮮 | ShaderGraph入門教程


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

 
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 標簽頁中下載組件包

 
Package Manager界面

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

 
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
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM