Unity3d | ShaderGraph入門教程

本文首發于“洪流學堂”微信公眾號。
洪流學堂,讓你學Unity快人幾步。你好,我是你的技術探路者鄭洪智,你可以叫我大智(vx: zhz11235)。

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

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

shadergraph可視化界面

配置使用ShaderGraph

目前最新版本Unity(2019.3)中的Shader Graph正式版支持URP(原LWRP)和HDRP,自定義的pipeline需要自行實現一些節點。

在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新加入的兩種可編程渲染管線,目前我們不用過多了解,知道如何使用即可。主要區別是:

  • URP適用于所有平臺
  • Hight-Definition RP適用于PC或游戲主機等計算性能好的平臺,對畫質要求很高的畫選這個,目前基本不支持移動平臺

在已有工程中使用ShaderGraph

1、在已有工程中使用ShaderGraph需要手動安裝安裝Render Pipeline和ShaderGraph相關的包。

有兩種方式:
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怎么辦?

這是由于國內的網絡原因,通常切換網絡即可解決。比如使用寬帶無法加載出來時,可以嘗試切換到4G/5G手機熱點,如果再不行可以嘗試翻墻。

大智這邊切換到聯通4G熱點是可以刷新出來的。

【常見問題2】已有工程切換到URP/HDRP后材質都變成洋紅色怎么辦?

在菜單欄Edit > Render Pipeline > Universal Render Pipeline > Upgrade ...可自動更新工程中的材質。但是只能更新Unity自帶的Shader,自定義Shader需要自己修改哦。

2、創建設置SRP(可編程渲染管線)

1)菜單欄Assets > Create > Rendering>Universal 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如何實戰應用。

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,030評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,310評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,951評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,796評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,566評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,055評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,142評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,303評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,799評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,683評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,899評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,409評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,135評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,520評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,757評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,528評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,844評論 2 372