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

效果:

相关推荐
IMPYLH34 分钟前
Lua 的 tonumber 函数
开发语言·笔记·后端·junit·游戏引擎·lua
tealcwu2 小时前
【Unity实战】如何使用VS Code在真实iOS设备上调试 Unity应用
unity·游戏引擎·iphone
冰凌糕7 小时前
Unity3D Shader 顶点和片段着色器
unity
Echo_NGC22377 小时前
【AirSim 教程指南】Part 3:相机与传感器(RGB / 深度 / 分割 / LiDAR)
人工智能·计算机视觉·游戏引擎·ar·无人机·图形渲染·着色器
tealcwu10 小时前
【Unity实战】如何使用VS Code在真实Android设备上调试 Unity应用
android·unity·游戏引擎
IMPYLH10 小时前
Lua 的 setmetatable 函数
开发语言·笔记·后端·游戏引擎·lua
淡海水1 天前
【节点】[Blackbody节点]原理解析与实际应用
unity·游戏引擎·shadergraph·图形·blackbody
avi91111 天前
Unity-海水效果+ShaderGraph-非专业不谈虚的效果-分享实用Editor源码
unity·游戏引擎
猫不在1 天前
MVC和MVVM
unity
老朱佩琪!1 天前
在Unity中实现状态机设计模式
开发语言·unity·设计模式