UE4 材质实操 —— 半透明材与薄半透明

3,878 阅读3分钟

这是我参与8月更文挑战的第10天,活动详情查看: 8月更文挑战

效果图

左侧是半透明,右侧是薄半透明 image.png

在材质中使用半透明

新建材质并按如下设置

image.png

image.png

image.png

我们会得到如下效果(反射和透明)

image.png

在材质中使用薄半透明

着色模型和材质表达式可以精准再现染色彩色半透明材质,比如染色或彩色玻璃和塑料。这种着色模型可以正确重现半透明表面的白色高光和染色背景。

具体的材质设置如下所示

image.png

image.png

image.png

效果如下

image.png

在某些情况下,半透明材质可通过光线投射 投射下彩色的阴影。通过材质的光线数量由材质的不透明度值,以及投射到材质上的光线数量决定。

image.png

半透明与薄半透明的性能

渲染大量彼此重叠且具有透明度的对象可能会迅速产生渲染/性能瓶颈,在使用点亮透明度时尤其如此。 用来说明此问题的术语是"过度绘制",当你有大量彼此重叠且要进行透明度渲染的对象时,就会发生过度绘制。 过度绘制可能会导致这类性能问题的原因是,对于每引入一层透明度,渲染成本就会水涨船高

为了帮助你更好地确定是否存在此问题以及何处存在此问题,UE4 有一种称为 着色器复杂性 的特殊视图模式。 "着色器复杂性"模式通过使用颜色来显示复杂性,让你了解给定表面的渲染复杂度。 你看到的颜色越绿,表示渲染成本越低,而颜色越红,表示渲染成本越高。 要启用此视图模式,只需完成下列步骤。

image.png

可见薄半透明(右侧)的性能会稍优于半透明(左侧) image.png

从这个视图中,你可确定可能的性能问题的发生位置。 红色区域的渲染成本非常高,而绿色区域的渲染成本较低。 虽然并不是 100% 有可能或适合消除所有过度绘制,但此视图模式在你尝试 判断性能问题的确切来源时非常有帮助。

半透明优先顺序(Translucency Sort Priority)

当场景中存在多个彼此接近的透明对象时,你有时会注意到以下问题:如何确定哪个透明对象在其他透明对象 前面或后面渲染。

  • 半透明优先顺序(Translucency Sort Priority) 设置为 -100 ,让大球看起来在后面 image.png

  • 半透明优先顺序(Translucency Sort Priority) 设置为 100,让大球看起来在前面 image.png

默认情况下,所有添加到关卡的对象的 半透明优先顺序(Translucency Sort Priority) 均为 0。如果你希望某个透明对象始终在其他透明对象前面渲染,请使用正数值。如果你希望某些透明对象始终在其他透明对象后面渲染,请使用负数值。

如上面两图所示,注意前后两球交界处的区别。