從頭學ShaderGraph:雪材質

遊資網發表於2020-03-17
這次做雪材質,剛入門shadergraph的可以來看看,案例檔案會放在文章底部。去掉了一些控制節點,看起來更清爽一些,文章儘量寫精煉一些吧。還有,走過路過幫我來unity connect收藏點贊吧。

https://connect.unity.com/p/cong-tou-xue-shadergraph-4-xue-cai-zhi

雪材質

從頭學ShaderGraph:雪材質

先說下新發現HDRP中有兩個特殊節點,Emission Node 和 Parallax Occlusion Mapping。

從頭學ShaderGraph:雪材質

有朋友反饋,上篇文章的案例,打不開,報錯有問題。檢查之後發現是因為這兩個節點在舊版本中沒有,而且URP中也打不開。所以在之後的案例中會盡量不用。

這兩個特殊節點,至今沒有文件,我決定下篇文章單獨說這兩個節點怎麼用。

從頭學ShaderGraph:雪材質

右鍵這裡有很多功能,我現在才看到,感覺自己就是個瞎子。特別是打組和加便籤,現在終於能整理一下節點啦。

下面開始正文

靈感來源於Brackeys的youtube教程,但內容更加豐富。

雪的思路很簡單,一套原材質貼圖,一套雪材質貼圖,取世界法線上下來做插值(Lerp)。

從頭學ShaderGraph:雪材質

於是乎,把世界法線的Y軸取出來,乘一個強度。以這個黑白圖做蒙版lerp兩套材質。

好了,原視訊內也就這點內容。

本想著又水完一篇文章,一行字就講完了,後面要扯什麼湊字數呢。結果照著參考圖越看越不對勁。

然後我發現了問題。貼圖法線資訊沒在插值的判定範圍內。

按理說,雪就和平型光照亮物體是一回事,朝上的面就應該有積雪,法線貼圖導致朝上也是如此。很多石頭的細節都是靠法線貼圖來表現,純模型法線根本不足以支撐這個效果。

所以我需要把切線空間的法線貼圖,轉到世界空間。再以轉換之後的世界法線,當材質遮罩。

從頭學ShaderGraph:雪材質

自此,我覺得再加一步轉換,就能完成任務,畢竟親愛的ASE裡WorldNormal自帶法線貼圖輸入。

結果ShdaerGraph內沒有這個輸入,好像也沒找到這個矩陣轉換,可能是我眼瞎。

所以我自己手擼了一個

從頭學ShaderGraph:雪材質

由於只用到Y軸,所以把其他2個通道都刪掉

從頭學ShaderGraph:雪材質

整理一下節點位置。(吐槽一下,目前我還沒找到能整理線條的工具。)

從頭學ShaderGraph:雪材質

截圖留念下

從頭學ShaderGraph:雪材質

下面是我的檔案

檔案分享

https://share.weiyun.com/58GsbhV

密碼:ifjfsc

使用方法:找個HDRP或著URP(LWRP),拖進去。我的資料夾下有預製體。

我的環境:Unity2019.3.0f1 HDRP 7.1.6 ShaderGraph 7.1.6

下面是我的artstation地址:https://www.artstation.com/luteli

相關閱讀:
從頭學ShaderGraph :UV與基礎材質

作者:Lute Li
專欄地址:https://zhuanlan.zhihu.com/p/102040776

相關文章