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

相关推荐
HELLOMILI1 小时前
第四章:反射-Reflecting Your World《Unity Shaders and Effets Cookbook》
游戏·unity·游戏引擎·游戏程序·图形渲染·材质·着色器
Maya动画技术12 小时前
ue5.5崩溃报gpu错误快速修复注册表命令方法
ue5·ue5.5崩溃报gpu错误
苹果园dog2 天前
Geo3D建筑材质切换+屋顶纹理
3d·webgl·材质
每天回答3个问题3 天前
AI数字人| Fay开源项目、UE5数字人、本地大模型
人工智能·python·ue5·开源·游戏引擎
子燕若水3 天前
UE5 蓝图项目转换为 C++项目
java·c++·ue5
努力的小钟3 天前
UE5 AssetManager类使用详解
ue5
努力的小钟3 天前
UE5中UBlueprintFunctionLibrary类详解
ue5
GentooEmacs4 天前
UnrealEngine UE5 可视化 从地球观察火星 金星 土星 运动轨迹
ue5
proibell5 天前
3dsmax中使用python创建PBR材质并挂接贴图
python·3dsmax·材质
庸俗今天不摸鱼5 天前
Three.js 入门(基础材质、贴图、纹理、环境、遮蔽光、透明度、高光贴图)
javascript·材质·贴图