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

效果:

相关推荐
_Cherry|14 小时前
Unity中使用AVPRO播放视频
unity·c#·音视频
落羽的落羽14 小时前
【Linux系统】进程终止、进程等待与进程替换的概念与实现
linux·服务器·c++·人工智能·深度学习·机器学习·游戏引擎
世洋Blog1 天前
Unity中图片的内存中占用大小、AB占用大小、内存形式
unity·游戏引擎
熬夜敲代码的小N1 天前
Unity热更新技术详解
unity·游戏引擎
地狱为王1 天前
Cesium for Unity 去除Cesium Logo
unity·游戏引擎·cesium
BuHuaX1 天前
Lua入门
开发语言·unity·junit·c#·游戏引擎·lua
wonder135792 天前
RectTransform位置计算方法和UI自适应
ui·unity·ugui
世洋Blog2 天前
Unity发布自己的插件包
unity·游戏引擎
ytttr8732 天前
基于C#的CAN总线数据解析BMS上位机
android·unity·c#
雪下的新火2 天前
ASE07-魔法药剂炼制效果
经验分享·unity·shader·ase·游戏效果