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 最重要一步,加上深度处理

(注:最早版本出处为 https://www.cnblogs.com/sevenyuan/p/7813527.html)

1.10 完成:

相关推荐
伪善者2 小时前
UE5 插件打包成DLL
ue5·打包
智算菩萨1 天前
【OpenGL】6 真实感光照渲染实战:Phong模型、材质系统与PBR基础
开发语言·python·游戏引擎·游戏程序·pygame·材质·opengl
UTwelve2 天前
【UE】SDF - 使用有向距离场(Signed Distance Fields)整各种活-4-将图片制作为距离场图
ue5·photoshop·贴图·着色器
maplewen.3 天前
【UE】GAS 概述
ue5
dong1326973 天前
UE5动画(上)
ue5
吴梓穆3 天前
UE5 c++打印日志
开发语言·c++·ue5
吴梓穆3 天前
UE5 C++ 绘制图形调试宏
开发语言·c++·ue5
chudonghao4 天前
[UE学习笔记][基于源码] 理解 Gameplay
c++·笔记·学习·ue5
爱搞虚幻的阿恺4 天前
RPG游戏开发【加餐】实现游戏小地图的简单方法
游戏·ue5·游戏引擎·虚幻
mxwin5 天前
Unity ShaderLab 完全指南深入了解 Unity 特有的声明式语法,用于定义材质面板、渲染回退、细节层次等核心功能
unity·游戏引擎·材质·shader