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

效果:

相关推荐
ok406lhq14 小时前
unity游戏调用SDK支付返回游戏会出现画面移位的问题
android·游戏·unity·游戏引擎·sdk
ellis197016 小时前
toLua[八] main场景分析
unity·lua
CreasyChan16 小时前
unity四元数 - “处理旋转的大师”
unity·c#·游戏引擎
野区捕龙为宠17 小时前
unity 实现3D空间音效特性
3d·unity·游戏引擎
老朱佩琪!18 小时前
Unity外观模式
unity·游戏引擎·外观模式
程序员茶馆18 小时前
【unity】Shader艺术之unity内置变量个性化控制
unity·游戏引擎
CreasyChan18 小时前
unity射线与几何检测 - “与世界的交互”
算法·游戏·3d·unity·数学基础
CreasyChan19 小时前
unity矩阵与变换 - “空间转换的魔术”
unity·矩阵·c#·游戏引擎
fcm1919 小时前
pico之调试unity项目
unity·vr·pico
WarPigs19 小时前
Unity生命周期函数笔记
unity·游戏引擎