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 完成:

相关推荐
AI视觉网奇8 小时前
ue5 插件 WebSocket
c++·ue5
AI视觉网奇9 小时前
ue 自己制作插件 c++
c++·ue5
AI视觉网奇10 小时前
ue5.7 配置 audio2face
笔记·ue5
zhangzhangkeji17 小时前
UE5 C++(UObject 的实例化 19-3):类 UWorld,模板函数 NewObject<>(...),
ue5
zhangzhangkeji1 天前
UE5 C++(14-1):UPROPERTY 宏、属性说明符和元数据说明符, visible,edit,Blueprint读写,Category 存储目录
ue5
Zhichao_971 天前
【UE5.3 C++】ARPG游戏 05-准备角色攻击的武器和动画
游戏·ue5
zhangzhangkeji2 天前
UE5 C++(15-3):UFUNCTION 的 meta 元数据, DisplayName ,同 UPROPERTY 的 meta
ue5
夜色。2 天前
UE5 Error LNK2019 编译异常修复备忘
ue5
陈友松2 天前
UE5 表格文件动态导入导出插件
ue5
zhangzhangkeji2 天前
UE5 C++(17):结构体,USTRUCT(BlueprintType) struct FmyStruct ,必须用 F 开头
ue5