从头学ShaderGraph:雪材质

作者:Lute Li 2020-03-17
这次做雪材质,刚入门shadergraph的可以来看看,案例文件会放在文章底部。去掉了一些控制节点,看起来更清爽一些,文章尽量写精炼一些吧。还有,走过路过帮我来unity connect收藏点赞吧。

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

雪材质


先说下新发现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

相关阅读:
从头学ShaderGraph :UV与基础材质

作者:Lute Li
专栏地址:https://zhuanlan.zhihu.com/p/102040776

最新评论
暂无评论
参与评论

商务合作 查看更多

编辑推荐 查看更多