材质混合模式

概述材质混合模式及其如何影响材质的渲染。

Windows
MacOS
Linux

BlendModeProperties.png

混合模式说明当前材质的输出如何与背景中已绘制的内容进行混合。更专业地说,混合模式允许您控制引擎在其他像素之前渲染此材质时,如何将此材质(来源颜色)与帧缓冲区中已有的内容(目标颜色)混合。

为了说明这一点,我们设置了包含一台摄像机和两个对象的简单场景。我们将查看第一个对象,并了解当我们更改混合模式时,该对象如何影响背景。

CameraObjectSetup.png

不透明

"不透明"(Opaque)混合模式最简单,并可能是您最常使用的模式。它定义了光线无法通过或穿透的表面。此模式适用于大部分塑料、金属、石头以及较大比例的其他表面类型。

CameraObjectSetup.png

CamerasView.png

场景设置

摄像机视图

遮罩

"遮罩"(Masked)混合模式用于您需要以二元(开/关)方式选择性地控制可见性的对象。例如,假定一个材质要模拟铁丝网围栏或格栅。某些区域看起来像是固体,而其他区域不可见。此类材质适合于"遮罩"(Masked)混合模式。

MaskedGridMaterial.png

记住_透明_与_不渲染_之间的差别十分重要。透明表面(例如玻璃)仍会以反射(镜面反射)形式与光线交互。以"遮罩"(Masked)模式剔除的像素无非是_不绘制_;在这些区域看不到任何反射。如果您想要保留反射或镜面反射外貌,那么最好使用"半透明"(Translucent)混合模式,或考虑建立分层材质。

另外,因为这些特性不会在遮罩的区域中进行渲染,所以完全不会进行计算,这进而提高了 GPU 的性能。

MaskedSetup.png

MaskedGridCameraView.png

场景设置

摄像机视图

使用"遮罩"(Masked)混合模式时,您需要特别注意 不透明蒙版剪辑值(Opacity Mask Clip Value) 属性。此属性包含 0-1 标量值,用于控制将不透明蒙版纹理的哪个值用作分界点,这个分界点之上所有 较暗 的值都不会进行渲染。

OpacityMaskMaterial.png

不透明蒙版剪辑值(Opacity Mask Clip Value)(拖动滑块可预览)

材质网络

在以上示例中,材质的 双面(Two Sided) 属性设置为_True(选中)_,这就是您能看到盒子内部的原因。

并且,尽管此处显示的是交互式示例,但 不透明蒙版剪辑值(Opacity Mask Clip Value) 属性并非设计成可在运行时进行更改。

半透明

"半透明"(Translucent)混合模式用于需要某种形式的透明度的对象。

TranslucentNetwork.png

这种混合模式的工作方式如下:接收一个"不透明度"值或纹理,并将其应用于表面,以使黑色区域完全透明,白色区域完全不透明,而这两者之间各种梯度的阴影将产生相应的透明度级别。这意味着,使用灰色的"不透明度"纹理可以产生显示为半透明的对象,从而仅让部分背景穿透显示。

TranslucentSetup.png

TranslucentCamera.png

场景设置

摄像机视图

使用半透明材质时,一个重要的注意事项是它们目前不支持镜面反射。这意味着您在表面上不会看到任何反射。但是,可使用立方体贴图 通过类似于以下的网络来模拟此类反射:

叠加型

"叠加型"(Additive)混合模式无非获取材质的像素,并将其与背景的像素相加。这与Photoshop中的_线性减淡(添加)_混合模式非常相似。这表示不会进行暗化;因为所有像素值都_添加_到一起,因此黑色将直接渲染为透明。这种混合方式适合于各种特殊效果,例如火焰、蒸汽或全息图。

AdditiveNetwork.png

与"半透明"(Translucent)混合方式相同,这种混合方式不支持镜面反射(即,反射)。这种混合的叠加型性质可能意味着您不会以任何方式使用这种混合,但您可以使用上文中"半透明"(Translucent)小节中所示的"立方体贴图"方法来模拟类似于反射的效果。

AdditiveSetup.png

AdditiveCamera.png

场景设置

摄像机视图

调制

"调制"(Modulate)混合模式无非将材质的值与背景的像素相乘。这种行为与Photoshop中的_正片叠底模式_混合模式非常类似。

ModulateNetwork.png

在上图中,材质的混合模式已设置为_调制(Modulate),且明暗处理模型已设置为_不照亮(Unlit)

ModulateScene.png

ModulateCamera.png

场景设置

摄像机视图

"调制"(Modulate)混合模式最适合于某些粒子效果。但请注意,此模式不支持照明或单独半透明。

模式

说明

BLEND_Opaque

最终颜色 = 来源颜色。这意味着材质将绘制在背景前面。这种混合模式与照明兼容。

BLEND_Masked

如果"不透明蒙版"(OpacityMask)>"不透明蒙版剪辑值"(OpacityMaskClipValue),则最终颜色为来源颜色,否则废弃像素。这种混合模式与照明兼容。

BLEND_Translucent

最终颜色 = 来源颜色 不透明度 + 目标颜色 (1——不透明度)。这种混合模式与动态照明 兼容。

BLEND_Additive

最终颜色 = 来源颜色 + 目标颜色。这种混合模式与动态照明 兼容。

BLEND_Modulate

最终颜色 = 来源颜色 x 目标颜色。除非是贴花材质,否则这种混合模式与动态照明或雾 兼容。

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback