游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1842|回复: 0

从头学ShaderGraph:雪材质

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2020-3-17 14:43:37 | 显示全部楼层 |阅读模式
这次做雪材质,刚入门shadergraph的可以来看看,案例文件会放在文章底部。去掉了一些控制节点,看起来更清爽一些,文章尽量写精炼一些吧。还有,走过路过帮我来unity connect收藏点赞吧。

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

雪材质

ezgif-6-ded64db5c5a1 (1).gif

先说下新发现HDRP中有两个特殊节点,Emission Node 和 Parallax Occlusion Mapping。

1.jpg

有朋友反馈,上篇文章的案例,打不开,报错有问题。检查之后发现是因为这两个节点在旧版本中没有,而且URP中也打不开。所以在之后的案例中会尽量不用。

这两个特殊节点,至今没有文档,我决定下篇文章单独说这两个节点怎么用。

2.jpg

右键这里有很多功能,我现在才看到,感觉自己就是个瞎子。特别是打组和加便签,现在终于能整理一下节点啦。

下面开始正文

灵感来源于Brackeys的youtube教程,但内容更加丰富。

雪的思路很简单,一套原材质贴图,一套雪材质贴图,取世界法线上下来做插值(Lerp)。

3.jpg

于是乎,把世界法线的Y轴取出来,乘一个强度。以这个黑白图做蒙版lerp两套材质。

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

本想着又水完一篇文章,一行字就讲完了,后面要扯什么凑字数呢。结果照着参考图越看越不对劲。

然后我发现了问题。贴图法线信息没在插值的判定范围内。

按理说,雪就和平型光照亮物体是一回事,朝上的面就应该有积雪,法线贴图导致朝上也是如此。很多石头的细节都是靠法线贴图来表现,纯模型法线根本不足以支撑这个效果。

所以我需要把切线空间的法线贴图,转到世界空间。再以转换之后的世界法线,当材质遮罩。

4.jpg

自此,我觉得再加一步转换,就能完成任务,毕竟亲爱的ASE里WorldNormal自带法线贴图输入。

结果ShdaerGraph内没有这个输入,好像也没找到这个矩阵转换,可能是我眼瞎。

所以我自己手撸了一个

5.jpg

由于只用到Y轴,所以把其他2个通道都删掉

6.jpg

整理一下节点位置。(吐槽一下,目前我还没找到能整理线条的工具。)

7.jpg

截图留念下

8.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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-12-4 16:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表