
UE中的半透明材质的处理是游戏影视制作中常见的问题,具体排序的需求又根据以下情况分为不同类型:
1. Translucency材质/Mask材质
2. 需要景深效果/不需要景深效果
3. 特效材质/Mesh材质
4. 是否存在半透明之间夹杂不透明物体的情况
.....
诸如此类的排列组合不胜枚举
这里主要以UE4.27和UE5.4为基础,我们针对常见的几种情况分别列出问题,以及给出相应的解决方案,供各位参考
1. Translucency材质
(1)Translucency材质+不需要参与景深计算+用于Mesh材质
在不设置任何参数的情况下,UE中呈现的默认效果即满足这种需求,这是最简单的一种情况,如下图所示,全部模糊,仅有带有半透明材质的物体是清晰的

(2)Translucency材质+不需要参与景深计算+用于特效材质
当前情况下,如果是同样的Translucency材质,但用于特效(Cascade/Niagara),有时会出现这样的问题,如下图

粒子不再清晰,而是模糊掉了,此时需要重新修复下粒子边界
Cascade:

Niagara:

修复后,效果即可恢复正常

(3)如果是Translucency材质,但需要半透明材质参与景深计算,实现这样的需求,可以在项目设置中,取消勾选Separate Translucency(或是命令行输入r.SeparateTranslucency 0),这样整个场景的半透明材质即可实现参与景深计算(模糊)

(4)4.27引擎下,如果是Translucency材质,需要场景中某些特定半透明材质参与景深计算,实现这样的需求,可以在材质编辑器中,取消勾选Render After DOF,这样应用该材质的物体即可参与景深计算(模糊)

此处5.4的设置及效果略有不同,在UE5.4引擎下,材质编辑器中Translucency Pass设置为Render After DOF和Before After DOF都实现类似的效果(模糊),但如果想让应用此材质的物体清晰,则需要设置为Render After MotionBlur,而这样设置会自动开启Disable Depth Test,出现半透明物体和不透明物体排序出错(半透明之间夹杂不透明物体的情况),慎用

此处附上4.27和5.4引擎下,Translucency材质忽略景深情况下的效果对比图

4.27

5.4
2.Mask材质
本质上Mask是一种透明度非0即1的材质,由于DitherTemporalAA(以下简称DTAA)节点可以通过类似噪点抖动的方式实现半透明的效果,经常用此方法制作纱,丝袜等衣物材质,某种意义上可以代替Translucency材质的作用

效果如图所示

那么问题来了,正是由于DTAA和密纹理以及ABC的底层计算方式,TAA的降噪采样模式等的共同作用,我们遇到了喜闻乐见的残影(像掉帧一样很不适),这里是另一个需要解决的问题,之后单独出文章进行阐述,这里主要想说以Mask作为半透明排序的解决办法并不是完全之策
这里我们只考虑在不修改源码的情况下,对不透明物体的清晰&模糊以及排序问题进行处理,如果修改源码则可以单独渲染半透明Pass,然后做进一步处理,方法会更灵活,更多变。简单来说,针对不用情况,灵活变通,分别对待,在我看来这本就是TA替美术解决问题的基本思路
感谢大家支持,如果对您有帮助,赞赏,探讨都欢迎!这也是我继续更新下去的动力。Cheers~