本文首發(fā)于“洪流學堂”微信公眾號仿粹。
洪流學堂搁吓,讓你學Unity快人幾步。你好吭历,我是你的技術(shù)探路者鄭洪智堕仔,你可以叫我大智(vx: zhz11235)。
洪流學堂公眾號回復節(jié)點
晌区,獲取ShaderGraph節(jié)點詳解PDF文件(帶目錄)摩骨。
Shader一直是Unity開發(fā)者的一個難關(guān),涉及到數(shù)學朗若、圖形學恼五、shader語法等多個難題。不過哭懈,ShaderGraph來拯救你了灾馒!Unity2018的一個重磅功能是ShaderGraph,通過可視化界面拖拽就可以實現(xiàn)著色器的創(chuàng)建和編輯银伟。
配置使用ShaderGraph
目前最新版本Unity(2019.3)中的Shader Graph正式版支持URP(原LWRP)和HDRP你虹,自定義的pipeline需要自行實現(xiàn)一些節(jié)點。
在Unity 2018后彤避,Unity采用了PackageManager來管理Unity的眾多新功能傅物,包括Shader shader包和Lightweight Render Pipeline包。
1琉预、下載最新的Unity(建議2019.1及以上版本)董饰,建議通過UnityHub安裝,下載地址是:
MAC:https://public-cdn.cloud.unity3d.com/hub/prod/UnityHubSetup.dmg
Windows:https://public-cdn.cloud.unity3d.com/hub/prod/UnityHubSetup.exe
2圆米、安裝Lightweight Render Pipeline和ShaderGraph包卒暂。
在新工程中使用ShaderGraph
如果是新建工程,在新建工程時選擇Universal Project Template或者Hight-Definition RP模板娄帖,工程中會自動包含ShaderGraph及其依賴的功能包也祠。
URP和Hight-Definition RP是Unity新加入的兩種可編程渲染管線,目前我們不用過多了解近速,知道如何使用即可诈嘿。主要區(qū)別是:
- URP適用于所有平臺
- Hight-Definition RP適用于PC或游戲主機等計算性能好的平臺,對畫質(zhì)要求很高的畫選這個削葱,目前基本不支持移動平臺
在已有工程中使用ShaderGraph
1奖亚、在已有工程中使用ShaderGraph需要手動安裝安裝Render Pipeline和ShaderGraph相關(guān)的包。
有兩種方式:
1)在菜單欄Window > Package Manager打開Packages窗口析砸。需要安裝Shadergraph包和Universal RP包(2019.3之前叫Lightweight RP)昔字。
2)通過手動設置Unity工程下Packages/manifest.json文件
目前通過Package Manager只能下載最新版本的包,而通過manifest文件可以設置使用任意版本的包首繁。如果有時候新版本的包和Unity版本不兼容的話作郭,可以通過manifest文件回退到之前的舊版本陨囊。
【常見問題1】Package Manager界面左下角一直在Loading怎么辦?
這是由于國內(nèi)的網(wǎng)絡原因所坯,通常切換網(wǎng)絡即可解決谆扎。比如使用寬帶無法加載出來時,可以嘗試切換到4G/5G手機熱點芹助,如果再不行可以嘗試翻墻堂湖。
大智這邊切換到聯(lián)通4G熱點是可以刷新出來的。
【常見問題2】已有工程切換到URP/HDRP后材質(zhì)都變成洋紅色怎么辦状土?
在菜單欄Edit > Render Pipeline > Universal Render Pipeline > Upgrade ...
可自動更新工程中的材質(zhì)无蜂。但是只能更新Unity自帶的Shader,自定義Shader需要自己修改哦蒙谓。
2斥季、創(chuàng)建設置SRP(可編程渲染管線)
1)菜單欄Assets > Create > Rendering>Universal Pipeline Asset,會創(chuàng)建出來一個文件累驮,這是渲染管線的配置文件酣倾。
2)在菜單欄 Edit > Project Settings > Graphics中設置剛才的SRP文件
經(jīng)過這些設置,現(xiàn)在就可以開始使用ShaderGraph了谤专!
創(chuàng)建ShaderGraph文件
通過菜單欄 Create > Shader > *** Graph 可以創(chuàng)建ShaderGraph文件躁锡,會在Project創(chuàng)建一個graph文件。
PBR Graph PBR圖
Sub Graph 子圖置侍,用于創(chuàng)建一些可復用的節(jié)點
Unlit Graph 不受光照的圖
ShaderGraph窗口
我們先創(chuàng)建一個PBRGraph來看一看映之。雙擊graph文件即可打開ShaderGraph窗口。
ShaderGraph的圖是以節(jié)點和連線組成的蜡坊,默認創(chuàng)建出來會有一個Master Node(主節(jié)點)杠输。你可以通過把其他節(jié)點連接到Master Node來創(chuàng)造你想要的效果。
編輯節(jié)點的屬性
如下圖所示秕衙,你可以通過編輯默認的數(shù)值快速改變物體的表面屬性蠢甲。
添加節(jié)點
添加紋理和其他復雜的交互操作,只要右鍵點擊并選擇“Create Node”据忘。
連接節(jié)點
通過拖拽對應的值即可創(chuàng)建連線鹦牛。
創(chuàng)建輸入變量
一個shader當然必不可少要有輸入的變量了,這在ShaderGraph中也很簡單若河。
使用輸入變量
你可以給輸入變量設置一個默認值,方便調(diào)試寞宫。
在Graph中使用這個變量也很簡單萧福,只需要將變量拖入圖中,和其他節(jié)點創(chuàng)建連線即可辈赋。
自定義預覽模型
ShaderGraph右下角有一個預覽窗口鲫忍,可以選擇內(nèi)置的5種和自定義的模型來更好的預覽Shader的效果膏燕。
材質(zhì)球使用Shader
Shader調(diào)好以后,當然最最終要應用到材質(zhì)球上颠蕴。材質(zhì)球的Shader選擇菜單中會多出一個graphs的類別咐熙,下面就是你創(chuàng)建的ShaderGraph對應的shader创橄。
總結(jié)
本文講了如何配置、創(chuàng)建近忙、編輯、使用ShaderGraph智润。后面幾天我將通過實例的方式講解ShaderGraph如何實戰(zhàn)應用及舍。
洪流學堂公眾號回復節(jié)點
,獲取ShaderGraph節(jié)點詳解PDF文件(帶目錄)窟绷。