UE5中双pass解决半透明材质乱序问题

透明度材质乱序问题一直是半透明效果时遇到的比较多的问题,用多pass方案只能说一定程度上解决,当遇到多半透明物体穿插等情况时,仍然不能完美解决。
双pass方案Unity用的比较多,因为Unity支持多个pass绘制。在UE中我们可以以复制多个物体赋予不同材质球的方式模拟多pass绘制,一个材质绘制深度,一个材质绘制半透明即可。

最终效果如下:
在这里插入图片描述

1.操作流程

1.1 首先以UE4小白人为例,复制一份加上only_Depth后缀:
在这里插入图片描述
1.2 新建一个材质,命名为DepthMat用来绘制深度,勾选Allow Custom Depth Writes:
在这里插入图片描述
1.3 为深度小白人赋予材质
在这里插入图片描述
1.4 在深度小白人蓝图Detail中找到Render in Main Pass,去掉勾选
在这里插入图片描述
1.5 在深度小白人蓝图Detail中找到Render in Depth Pass,去掉勾选
在这里插入图片描述

1.6 在深度小白人中找到Render CustomDepth Pass,勾选
在这里插入图片描述

1.7 新建一个半透明材质球,命名为TestMat
在这里插入图片描述
1.8 为半透明小白人添加该材质球,可以看出,现在是有问题的
在这里插入图片描述
1.9 最重要一步,加上深度处理(材质球里也要勾选Allow Custom Depth Write)
在这里插入图片描述
(注:最早版本出处为 https://www.cnblogs.com/sevenyuan/p/7813527.html)

1.10 完成:
在这里插入图片描述

另测试,小白人前面放半透明物体:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/grayrail/article/details/133803390