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

相关推荐
zhangzhangkeji10 天前
UE5 C++(71):文件是否存在,文件夹是否存在,FPaths :: FileExists( const FString & InPath) ;
ue5
妙为10 天前
UE5角色穿过石头穿模
ue5·unreal engine5·角色穿越石头·穿模
mojugang10 天前
DC53是什么材质
材质·模具钢
yj爆裂鼓手11 天前
unity编辑器下ab包模式下textMeshPro文本不显示材质是紫色的异常,真机无异常的问题
unity·编辑器·材质
mojugang11 天前
D2对应国内什么材质
材质·模具钢
技术策划Boring11 天前
2025年工作复盘:开放世界3A项目配置管线与性能监控的探索
游戏·ue5·虚幻·p4·perforce
ct97811 天前
ThreeJs材质、模型加载、核心API
webgl·材质·threejs
zhangzhangkeji13 天前
UE5 C++(70-2):定义成员函数 getCleanDirectory(..) 和枚举类 EFileDirectoryType,来获得目录
ue5
avi911114 天前
UE4-UE5虚幻引擎-前置学习三,优化,基础CPP
ue5·ue4·游戏开发·虚幻·游戏优化·游戏代码
zhangzhangkeji14 天前
UE5线程进阶(3-2):任务图的相关源码整理。 FGraphEvent 与 TGraphTask 的区别和联系
ue5