unity绘制管道_Unity 高清渲染管线 ShaderGraph 实现简单的表面水流效果

灵感

在玩 HDRP 的内置 Lit 着色器的时候,对它的 Mask Map 贴图很感兴趣,感觉似乎能够为材质添加很多细节

1.JPG (33.05 KB, 下载次数: 1)

2020-8-6 10:20 上传

不使用 Mask Map

2.JPG (37.71 KB, 下载次数: 2)

2020-8-6 10:20 上传

使用 Mask Map

查了下文档,发现 Mask Map 是分 RGBA 通道作为灰度蒙版,为材质添加金属度、环境光遮蔽、细节贴图蒙版与粗糙度效果的:

3.JPG (19.27 KB, 下载次数: 2)

2020-8-6 10:20 上传

让我最感兴趣的是 A 通道的粗糙度蒙版,就像上图那样,能营造出非常类似物体表面的水雾的感觉。

恩..如果我用 Shader 让这个 A 通道做一个平移,再加点噪声,说不定就能做出来类似下雨时物体表面潺潺流水的效果?

实现思路

使用 ShaderGraph 的 Time 与 Tilling and Offset 节点将 UV 做一个平移,加上线性噪声节点做一些扭曲,添加一点随机性。最后直接复用原材质的 Mask Map 的 A 通道并应用扰动。用一个布尔来控制是否应用效果。添加各种属性值就不说了。应该还不错。

在实现过程中,由于 HDRP 的内置 Lit 着色器没有 ShaderGraph 版本,就从论坛上找了一个官方的 Lit 着色器的 ShaderGraph 版本,基于它进行修改。

4.JPG (31.4 KB, 下载次数: 1)

2020-8-6 10:20 上传

整体(糊也没事..大部分是官方给的,用于实现 Lit 的特性,核心就那上面的一小点)

5.JPG (34.09 KB, 下载次数: 0)

2020-8-6 10:20 上传

核心效果实现(就这几个节点..真的挺简陋的..)

效果

6.gif (254.45 KB, 下载次数: 0)

2020-8-6 10:20 上传

砖墙材质

7.gif (196.25 KB, 下载次数: 1)

2020-8-6 10:20 上传

石碑(?) 材质

8.gif (69.46 KB, 下载次数: 0)

2020-8-6 10:20 上传

模型效果

一些个人感受:

这是个很粗糙的效果,用到的节点也很少,之后要实际应用的话肯定要补充很多细节,比如单独做水流的 Mask 应该会好很多

个人认为的效果优缺点:

优点:

和网上其他的雨水效果比起来,对性能影响应该蛮低的。加上天气效果以及一些点缀应该也能实现不错的效果

简单啊(连我都能做出来..),直接复用材质自己的 Mask Map 也懒省事了

因为不同材质的 Mask Map 不同,所以这个效果也会带有各自材质的特点,不会说效果千篇一律看着疲劳

缺点:

对于较为光滑的平面类物体感觉效果比较一般

因为复用了原材质的 Mask Map,应用效果时材质自身的粗糙度会丢失,不太好

可远观而不可亵玩(bushi),在远处看起来还不错,如果离得太近的话就能比较明显的看出来违和的平移与噪声

总之还是个很粗糙的效果,不过这种思路应该还是有点意思的,必能活用于下一次..

参考链接

https://forum.unity.com/threads/trying-to-replicate-the-hdrp-lit-shader-i-need-help-with-the-detail-input-part.660538/

Unity Forum-ShaderGraph 版 Lit 原贴

https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@7.1/manual/Mask-Map-and-Detail-Map.html

Mask Map 文档

https://github.com/OnyxAmber/UnityHDRP_ShaderGraphTest

把着色器图与材质传到 Github 上了,项目太大就不传了,直接拖入 Unity 窗口即可。使用贴图也是 HDRP 自带的示例。

文/Onyx

来源:indienova

原文:https://indienova.com/indie-game-development/unity-hdrp-shader-graph-surface-water/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值