Unity HDRP Custom Pass 实现场景雪地效果

先使用Shader Graph连一个使用模型法线添加雪地的shader,并赋给一个material。

1.1 先拿到模型世界坐标下的顶点法线,简单处理一下,赋给透明度即可。

给场景添加Custom Pass,剔除不需要的层级。

1.在Hierarchy界面中,右键创建Volume -> Custom Pass

2.添加Draw Renderers Custom Pass 到Custom Pass Volume 中

3.附上材质,调整渲染为 All Opaque, Forward ,深度测试可以测试一下Equal,Greater,Always,。

4.Always的效果:

解决报错(Your HDRP setting do not support Forwardonly, some objects might not renderer)。

1.解决该报错,需要调整当前使用的HDRP Asset的光照渲染模式为ForwardOnly

2.当前使用的HDRP Asset可在Edit -> Project settting -> Quality -> Rendering -> Render Pipeline Asset 查看到。

优化Shader Graph。

1.可以通过Frame Debugger中查看当前Custom Pass的渲染队列

Custom Pass 挂载的材质只是在原有材质上附加了一层,如果我们需要雪地的过度,就需要对用法线得到的透明度进行剔除。主要就是对法线操作。

效果:

相关推荐
June bug3 小时前
【配环境】unity项目开发环境
unity·游戏引擎
JQLvopkk4 小时前
C#调用Unity实现设备仿真开发浅述
开发语言·unity·c#
秦奈5 小时前
Unity复习学习笔记(九):UGUI
笔记·学习·unity
李尚朋20215 小时前
搜嗖工具箱|小众有个性的趣味网站合集
深度学习·搜索引擎·游戏引擎
垂葛酒肝汤7 小时前
unity的背包滑动组件中道具的提示框被裁剪的问题
unity·游戏引擎
孟无岐8 小时前
【Laya】Ease 缓动函数
typescript·游戏引擎·游戏程序·laya
yi碗汤园8 小时前
【超详细】TCP编程与UDP编程
网络·网络协议·tcp/ip·unity·udp·visual studio
teunyu8 小时前
在Unity中使用LineRenderer实现A点到B点的贝塞尔曲线。并且曲线为虚线。方向为A点流向B点。效果图如下
unity·游戏引擎
速冻鱼Kiel9 小时前
GASP笔记03
笔记·ue5·游戏引擎·虚幻
nnsix9 小时前
Unity URP用于 光照贴图(Lightmap)的材质Shader
unity·材质·贴图