材质编辑器 - 如何建立有光泽的材质

您每天接触的每个对象都具有一定的光泽度。 在虚幻引擎 4 中,您可以使用“金属色”(Metallic)、“高光”(Specular)和“粗糙度”(Roughness)等材质输入来模拟对象的光泽度。 在以下操作指南中,我们将学习在材质中引入光泽度所需了解的所有内容。

光泽度

光泽度无非是指表面反射光线的能力。 表面能够反射的光线越多,就显得越有光泽。 表面能够反射的光线越少,就显得越无光泽。 表面反射光线的能力受环境中各种因素的影响,例如落在对象上的那些非常小颗粒的灰尘,以及您接触对象时沾染到手上的油污, 所有这一切都会影响表面反射光线的能力。

粗糙度与光泽度

粗糙度在帮助确定表面光泽度方面扮演着重要的角色。 表面越粗糙,其光泽度越低。 表面越光滑,其光泽度越高。 以下是粗糙度如何影响光泽度的示例。

roughness_nonmetal.png

最左侧球体的“粗糙度”(Roughness)值为 0,请注意反射情况。 越往右边,球体的光泽度越来越低。 这是因为“粗糙度”(Roughness)值逐渐增大,直到值为 1 为止。

金属色与光泽度

金属对象的光泽度由粗糙度控制。 材质越粗糙,其光泽度就会越低 ,而缺少粗糙度将使金属显得非常有光泽。 以下是粗糙度如何影响金属色的示例。

roughness_metal.png

最左侧球体的“金属色”(Metallic)值为 1,并且“粗糙度”(Roughness)值为 0,因此它显得非常有光泽。 但是,最右侧球体的“金属色”(Metallic)值为 1,并且“粗糙度”(Roughness)值为 1。 这使金属看起来非常晦暗,就像已经用过很久一样。

高光与光泽度

在 99% 的情况下,您从不需要调整“高光”(Specular)输入,其默认值 0.5 对于大部分材质来说已经足够好。

高光也可影响材质的光泽度。 将“高光”(Specular)值调整到接近 1 时,将使材质的反射和反射高光显得特别强特别显眼 ,而将该值减小到接近 0 会弱化反射及反射高光,直到它们几乎不存在为止。 以下示例说明当“高光”(Specular)值从 0 更改为 1 时,对反射及反射高光强度的影响。

Shiny_Specular.png

与所有其他输入一样,“高光”(Specular)也深受粗糙度影响。 即使“高光”(Specular)输入设置为 1,通过将“粗糙度”(Roughness)的值设置为 1,也可以取消高光效果。 另外,如果启用了金属色,那么调整高光不会影响材质。 再次声明,在 99% 的情况下,您从不需要启用此值,使用默认值 0.5 可产生最佳效果。

在材质中使用光泽度

您可通过下列步骤使材质具有光泽度。

本教程将使用项目中包含 起步内容 时可以找到的内容。如果您的项目未包含起步内容,请参阅 迁移 内容页面,以了解有关如何在项目之间移动内容的信息。通过这种方法,您可以将起步内容添加到项目中,而不必建立新项目。

  1. 首先,在 内容浏览器右键单击,然后在弹出菜单的 创建基本资产(Create Basic Asset)部分中,选择 材质(Material)。 选择此选项将创建新的材质

    Create_New_Material.png

  2. 将材质命名为 Shiny_Material,然后在 内容浏览器 中使用 鼠标左键双击 此材质以将其打开。

  3. 打开材质之后,将以下纹理和材质表达式节点添加到材质图中。请注意,此纹理位于起步内容的“纹理”(Textures)文件夹中。

    • 纹理样本:T_Metal_Gold_D x 1

    • 纹理样本:T_Metal_Gold_N x 1

    • 标量参数(Scalar Parameter): x 3

    • 乘法(Multiple)x 1

    Shiny_Required_Nodes.png

  4. 放入材质表达式节点后,现在需要对标量参数进行命名并填写默认值。以下是应使用的名称和默认值:

    • 金属色(Metallic):0

    • 高光(Specular):0.5

    • 粗糙度(Roughness):0.5

    Shiny_Named_Nodes.png

  5. 现在,可以开始将所有材质表达式节点连接到主材质节点上相应的输入。完成之后,您的材质图应该类似于下图。

    Shiny_Connected_Nodes.png

  6. 接着,务必单击 应用(Apply)保存(Save)按钮,然后关闭材质编辑器。
    R_Apply_&_Save.png

  7. 现在,在 内容浏览器 中找到 Shiny_Material,然后使用鼠标 右键单击 它,并从显示的菜单中选择 创建材质实例(Create Material Instance)选项。

  8. 内容浏览器 中,通过 鼠标左键双击 打开材质实例。打开后,通过使用 鼠标左键 单击灰色的复选框,启用所有 标量参数值(Scalar Parameter Values)Shiny_Enabled_MI_Properties.png

标量参数值(Scalar Parameter Values)现已启用,将它们设置为不同的值可以影响对象的光泽度。 例如,将“金属色”(Metallic)设置为 1,然后将“粗糙度”(Roughness)设置为 0,可得到像金子一样闪闪发亮的金属。

Shiny_MI_Metal_Example.png

如果将“金属色”(Metallic)设置为 0,并且将“高光”(Specular)从 0.5 更改为 1.0,您会得到非常有光泽的黄色塑料。

Shiny_MI_Plastic_Example.png

如果将“粗糙度”(Roughness)设置为 1,并将“高光”(Specular)设置为 1,那么将得到略微反光的黄色涂料。

Shiny_MI_Paint_Example.png

如果上述黄色涂料的反光太强,请尝试减小“高光”(Specular),直到您满意为止。下列示例显示将“高光”(Specular)分别设置为 0、0.5 和 1.0 时,对材质反射所产生的影响。

Shiny_Different_Spec_Amounts.png

总结

使用有光泽的材质的确可以使您的 3D 项目更加逼真。 但是,就像 3D 环境中的所有其他对象一样,让材质有光泽需要付出代价。 请记住,使用大量彼此反射的金属对象可能会引起成本高昂的性能问题。 并且,请确保不要在材质中完全禁用光泽,这是因为,所有材质都具有一定程度的光泽。