UE5中双pass解决半透明材质乱序问题
【摘要】 透明度材质乱序问题一直是半透明效果时遇到的比较多的问题,用多pass方案只能说一定程度上解决,当遇到多半透明物体穿插等情况时,仍然不能完美解决。
双pass方案Unity用的比较多,因为Unity支持多个pass绘制。在UE中我们可以以复制多个物体赋予不同材质球的方式模拟多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 完成:
另测试,小白人前面放半透明物体:
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)