Unity3d | ShaderGraph入門教程

本文首發(fā)于“洪流學堂”微信公眾號仿粹。
洪流學堂搁吓,讓你學Unity快人幾步。你好吭历,我是你的技術(shù)探路者鄭洪智堕仔,你可以叫我大智(vx: zhz11235)。

洪流學堂公眾號回復節(jié)點晌区,獲取ShaderGraph節(jié)點詳解PDF文件(帶目錄)摩骨。

Shader一直是Unity開發(fā)者的一個難關(guān),涉及到數(shù)學朗若、圖形學恼五、shader語法等多個難題。不過哭懈,ShaderGraph來拯救你了灾馒!Unity2018的一個重磅功能是ShaderGraph,通過可視化界面拖拽就可以實現(xiàn)著色器的創(chuàng)建和編輯银伟。

shadergraph可視化界面

配置使用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文件

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é)點屬性

添加節(jié)點

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

創(chuàng)建節(jié)點

連接節(jié)點

通過拖拽對應的值即可創(chuàng)建連線鹦牛。

創(chuàng)建輸入變量

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

創(chuàng)建輸入變量

使用輸入變量

你可以給輸入變量設置一個默認值,方便調(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文件(帶目錄)窟绷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锯玛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子兼蜈,更是在濱河造成了極大的恐慌攘残,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件为狸,死亡現(xiàn)場離奇詭異歼郭,居然都是意外死亡,警方通過查閱死者的電腦和手機钥平,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門实撒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涉瘾,你說我怎么就攤上這事知态。” “怎么了立叛?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵负敏,是天一觀的道長。 經(jīng)常有香客問我秘蛇,道長其做,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任赁还,我火速辦了婚禮妖泄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘艘策。我一直安慰自己蹈胡,他們只是感情好,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著罚渐,像睡著了一般却汉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荷并,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天合砂,我揣著相機與錄音,去河邊找鬼源织。 笑死翩伪,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的雀鹃。 我是一名探鬼主播幻工,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼黎茎!你這毒婦竟也來了囊颅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤傅瞻,失蹤者是張志新(化名)和其女友劉穎踢代,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嗅骄,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡胳挎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了溺森。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慕爬。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖屏积,靈堂內(nèi)的尸體忽然破棺而出医窿,到底是詐尸還是另有隱情,我是刑警寧澤炊林,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布姥卢,位于F島的核電站,受9級特大地震影響渣聚,放射性物質(zhì)發(fā)生泄漏独榴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一奕枝、第九天 我趴在偏房一處隱蔽的房頂上張望棺榔。 院中可真熱鬧,春花似錦隘道、人聲如沸症歇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽当船。三九已至,卻和暖如春默辨,著一層夾襖步出監(jiān)牢的瞬間德频,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工缩幸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留壹置,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓表谊,卻偏偏與公主長得像钞护,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子爆办,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345