材质混合模式

本页面的内容:

BlendModeProperties.png

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

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

CameraObjectSetup.png

不透明(Opaque)

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

CameraObjectSetup.png CamerasView.png
场景设置 摄像机视图

遮掩(Masked)

“遮掩”(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)

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

TranslucentNetwork.png

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

TranslucentSetup.png TranslucentCamera.png
场景设置 摄像机视图

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

加性(Additive)

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

AdditiveNetwork.png

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

AdditiveSetup.png AdditiveCamera.png
场景设置 摄像机视图

调制(Modulate)

“调制”(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 目标颜色。除非是贴花材质,否则这种混合模式与动态照明或雾 兼容。