從頭學ShaderGraph:雪材質
https://connect.unity.com/p/cong-tou-xue-shadergraph-4-xue-cai-zhi
雪材質
![從頭學ShaderGraph:雪材質](https://i.iter01.com/images/f33d626207e4696147dac663182de68ec6377a3ad24a82412c45dad6544ecc6d.gif)
先說下新發現HDRP中有兩個特殊節點,Emission Node 和 Parallax Occlusion Mapping。
![從頭學ShaderGraph:雪材質](https://i.iter01.com/images/53e637b231634c17ec85c47e6beb6e0287042a2914692456107c33110ca0590b.jpg)
有朋友反饋,上篇文章的案例,打不開,報錯有問題。檢查之後發現是因為這兩個節點在舊版本中沒有,而且URP中也打不開。所以在之後的案例中會盡量不用。
這兩個特殊節點,至今沒有文件,我決定下篇文章單獨說這兩個節點怎麼用。
![從頭學ShaderGraph:雪材質](https://i.iter01.com/images/64758d8d61eb73f55eaff095fe42f266c66af74577813142cec6654b2eb5792a.jpg)
右鍵這裡有很多功能,我現在才看到,感覺自己就是個瞎子。特別是打組和加便籤,現在終於能整理一下節點啦。
下面開始正文
靈感來源於Brackeys的youtube教程,但內容更加豐富。
雪的思路很簡單,一套原材質貼圖,一套雪材質貼圖,取世界法線上下來做插值(Lerp)。
![從頭學ShaderGraph:雪材質](https://i.iter01.com/images/3f1663283b2de142c1ff3aca919221c4a51321fecaed1f9c1b97f9a50cf5afaf.jpg)
於是乎,把世界法線的Y軸取出來,乘一個強度。以這個黑白圖做蒙版lerp兩套材質。
好了,原視訊內也就這點內容。
本想著又水完一篇文章,一行字就講完了,後面要扯什麼湊字數呢。結果照著參考圖越看越不對勁。
然後我發現了問題。貼圖法線資訊沒在插值的判定範圍內。
按理說,雪就和平型光照亮物體是一回事,朝上的面就應該有積雪,法線貼圖導致朝上也是如此。很多石頭的細節都是靠法線貼圖來表現,純模型法線根本不足以支撐這個效果。
所以我需要把切線空間的法線貼圖,轉到世界空間。再以轉換之後的世界法線,當材質遮罩。
![從頭學ShaderGraph:雪材質](https://i.iter01.com/images/3e7eb850d29923e814b99ab6e2aba952f04b9bcf67657586c047544250693d9a.jpg)
自此,我覺得再加一步轉換,就能完成任務,畢竟親愛的ASE裡WorldNormal自帶法線貼圖輸入。
結果ShdaerGraph內沒有這個輸入,好像也沒找到這個矩陣轉換,可能是我眼瞎。
所以我自己手擼了一個
![從頭學ShaderGraph:雪材質](https://i.iter01.com/images/f084e56da9cad184ca84f81142080a5e28fcc5a655f94496e7c4c7685d4c3e90.jpg)
由於只用到Y軸,所以把其他2個通道都刪掉
![從頭學ShaderGraph:雪材質](https://i.iter01.com/images/d84eaa5f7a66536abc10fe82934ce8cd747b30f20a66fd780e126c6fbcce0b96.jpg)
整理一下節點位置。(吐槽一下,目前我還沒找到能整理線條的工具。)
![從頭學ShaderGraph:雪材質](https://i.iter01.com/images/2c05ade57d0c434baaa916cbb135e45204f6ff8c2c9c377dd93d4240f7c33e5b.jpg)
截圖留念下
![從頭學ShaderGraph:雪材質](https://i.iter01.com/images/52aa5c9827467fafb39be13861f42b45989f7e748e29f15dbfcf60af41f4bac8.jpg)
下面是我的檔案
檔案分享
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
相關文章
- 從頭學ShaderGraph :溶解材質
- 從頭學ShaderGraph :護盾材質
- 從頭學ShaderGraph 6:深度冰材質
- 從頭學ShaderGraph :UV與基礎材質
- 材質
- 修改材質
- blender材質屬性:
- 材質最佳化:如何正確處理紋理和材質的關係
- OpenGL高階版本學習日誌2:光照模型&材質模型
- katana材質的製作2
- JMonkeyEngine——材質檔案備註
- ThreeJs-03材質進階JS
- 從頭開始學習VuexVue
- 韶關鋼材檢測 Q355B鑑定材質檢測
- 閃耀暖暖手遊布料材質解析
- three.js獲取物件的材質JS物件
- Linux從頭學07:中斷那麼重要,它的本質到底是什麼?Linux
- ThreeJs-05紋理材質高階操作JS
- ThreeJs-04詳解材質與紋理JS
- 一組材質面料展示模組參考
- 從頭開始學習vue-routerVue
- Unity Shader之雙面材質和多Pass渲染Unity
- CesiumJS PrimitiveAPI 高階著色入門 - 從引數化幾何與 Fabric 材質到著色器 - 上篇JSMITAPI
- CesiumJS PrimitiveAPI 高階著色入門 - 從引數化幾何與 Fabric 材質到著色器 - 下篇JSMITAPI
- 記錄從頭學習 JAVA+selenium+testNGJava
- visualstudio著色器設計器shadergraph使用
- 【MMD x EEVEE教程】材質篇 • 替換物體反射反射
- Inconel600是什麼材質的鎳基合金
- 前端3D引擎-Cesium自定義動態材質前端3D
- 工字電感磁芯材質型別深度詳解型別
- 【caffe2從頭學】:2.學習caffe2
- 從頭開始的Java學習Day05Java
- Threes.js入門篇之8 - 材質與紋理JS
- 【MMD x EEVEE教程】材質篇 • 移除天空球環境反射反射
- 【MMD x EEVEE教程】材質篇 • 修復模型異常光斑模型
- 位移感測器根據材質的不同的分類
- 覆盤2019上市公司遊戲版號:從品類到題材,頭部集團摸索出了哪些活路遊戲
- 優思學院|質量管理簡史:從質檢到質控,到六西格瑪管理