Notifications
Article
从头学ShaderGraph 4-雪材质
Published 8 days ago
943
20
这次做雪材质,刚入门shadergraph的可以来看看,案例文件会放在文章底部。去掉了一些控制节点,看起来更清爽一些,文章尽量写精炼一些吧。还有,请大家多收藏来支持。

雪材质

先说下新发现
HDRP中有两个特殊节点,Emission Node 和 Parallax Occlusion Mapping。
有朋友反馈,上篇文章的案例,打不开,报错有问题。检查之后发现是因为这两个节点在旧版本中没有,而且URP中也打不开。所以在之后的案例中会尽量不用。
这两个特殊节点,至今没有文档,我决定下篇文章单独说这两个节点怎么用。
右键这里有很多功能,我现在才看到,感觉自己就是个瞎子。特别是打组和加便签,现在终于能整理一下节点啦。

下面开始正文

灵感来源于Brackeys的youtube教程,但内容更加丰富。
雪的思路很简单,一套原材质贴图,一套雪材质贴图,取世界法线上下来做插值(Lerp)。
于是乎,把世界法线的Y轴取出来,乘一个强度。以这个黑白图做蒙版lerp两套材质。

好了,原视频内也就这点内容。

本想着又水完一篇文章,一行字就讲完了,后面要扯什么凑字数呢。结果照着参考图越看越不对劲。
然后我发现了问题。贴图法线信息没在插值的判定范围内。
按理说,雪就和平型光照亮物体是一回事,朝上的面就应该有积雪,法线贴图导致朝上也是如此。很多石头的细节都是靠法线贴图来表现,纯模型法线根本不足以支撑这个效果。
所以我需要把切线空间的法线贴图,转到世界空间。再以转换之后的世界法线,当材质遮罩。
自此,我觉得再加一步转换,就能完成任务,毕竟亲爱的ASE里WorldNormal自带法线贴图输入。
结果ShdaerGraph内没有这个输入,好像也没找到这个矩阵转换,可能是我眼瞎。
所以我自己手撸了一个
由于只用到Y轴,所以把其他2个通道都删掉
整理一下节点位置。(吐槽一下,目前我还没找到能整理线条的工具。)
截图留念下

下面是我的文件
链接: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
Lute-Li
A Leisurely Artist - Artist
13
Comments
Lute-Li
2 days ago
A Leisurely Artist
大佬什么时候出个轻量级管线皮肤次表面散射的效果 托腮
年后安排上
0
2 days ago
大佬什么时候出个轻量级管线皮肤次表面散射的效果 托腮
0
Lute-Li
4 days ago
A Leisurely Artist
Zhuhanghai弱弱的问一下,如何通过法线贴图和模型法线的值计算出受法线贴图影响后的法线值?(比方说公式之类的)
0
Lute-Li
4 days ago
A Leisurely Artist
Zhuhanghai弱弱的问一下,如何通过法线贴图和模型法线的值计算出受法线贴图影响后的法线值?(比方说公式之类的)
切线空间的模型法线就是一张(0.5,0.5,1)。所以直接用法线贴图插值0-1就好
0
Z
Zhuhanghai
4 days ago
弱弱的问一下,如何通过法线贴图和模型法线的值计算出受法线贴图影响后的法线值?(比方说公式之类的)
0