材质输入

深入了解材质上可用的各种输入以及如何使用它们。

Windows
MacOS
Linux

在这里,我们将了解一下制作材质时可用的输入。通过向这些输入馈送值(通过常量、参数和纹理),您可以定义您所能想象的任何物理表面。

并非所有的输入都可以与混合模式(Blend Mode)和着色模型(Shading Model)的每个组合一起使用。因此,我们将指定每个输入可供使用的时间,以便您知道您创建的每种类型的材质都使用哪些输入。

输入和材质设置

并不是所有的输入对您创建的每种类型的材质都有用。例如,在开发光源功能(Light Function)时 - 一种应用于光源的材质 - 您只能在材质上使用自发光颜色(Emissive Color)输入,而不能使用其他任何输入,因为其他输入,如金属感(Metallic)或粗糙度(Roughness),将不适用。正因为如此,为了避免您开始过多地担心输入,了解您正在创建的材质类型非常重要。其中三个主要的控制属性是:

  • 混合模式(Blend Mode) - 此属性将控制您的材质如何与它后面的像素融合。

  • 着色模型(Shading Model) - 此属性定义了如何计算材质表面的光源。

  • 材质域(Material Domain) - 此属性控制了材质的使用方式,例如它是作为表面的一部分、光源功能,还是后期处理材质。

幸运的是,虚幻引擎4消除了对给定类型材质所需输入的猜测工作。当您在材质(Material)中更改这些设置时,您会注意到可用的输入将更新,而不需要的输入将被禁用。

底色

底色(Base Color) 定义材质的整体颜色。它接收 Vector3 (RGB) 值,并且每个通道都自动限制在 0 与 1 之间。

如果是从现实世界获得的,那么这是使用偏振滤光器拍摄时获得的颜色 (偏振在校准时会消除非金属材质的镜面反射)。

BaseColor_QS.png

金属感

金属色(Metallic)输入控制表面在多大程度上“像金属”。非金属的金属色(Metallic)值为 0, 金属的金属色(Metallic)值为 1。对于纯表面,例如纯金属、纯石头、 纯塑料等等,此值将是 0 或 1,而不是任何介于它们之间的值。创建受腐蚀、落满灰尘或生锈金属之类的混合表面时, 您可能会发现需要 介于 0 与 1 之间的值。

Metallic_21.png

镜面反射

在编辑 非金属 表面材质时,您有时可能希望调整它反射光线的能力,尤其是它的 高光 属性。 要更新材质的高光度,需输入介于0(无反射)和1(全反射)之间的标量数值。注意,材质的默认高光值为0.5。

Specular_21.png

粗糙度

粗糙度(Roughness)输入控制材质表面的粗糙或平滑程度。与平滑的材质相比,粗糙的材质将向更多方向散射所反射的光线。 这决定了反射的模糊或清晰度(或者镜面反射高光的广度或密集度)。 粗糙度 0(平滑)是镜面反射,而粗糙度 1(粗糙)是漫射(或无光)表面。

粗糙度是一个属性,它将频繁地在对象上进行贴图,以便向表面添加大部分物理变化。

单击查看全图

自发光颜色

由于材质正在发光,所以 自发光颜色(Emissive Color) 输入控制材质的哪些部分将发光。理想情况下,这将获得一个遮罩纹理(除了需要发光的区域之外,大部分呈黑色)。

由于支持HDR照明,所以允许大于1的值。

单击查看全图

不透明度

使用半透明混合模式,尤其是 半透明(Translucent)叠加(Additive)调制(Modulated) 材质时,会用到 不透明度(Opacity) 输入。您可以输入0与1之间的值,其中:

  • 0.0代表完全透明。

  • 1.0代表完全不透明。

使用一个次表面着色模型时,不透明和遮罩混合模式也使用不透明度(Opacity)。

单击查看全图

不透明度主要用于_半透明材质(Translucent)添加材质(Additive)和_调制材质(Modulated Materials)

不透明度遮罩

不透明度遮罩(Opacity Mask) 类似于不透明度(Opacity),但仅在使用遮罩混合模式(Masked Blend Mode)时可用。与不透明度(Opacity)一样,它的值在0.0到1.0之间,但与不透明度(Opacity) 不同 的是,结果中看不到不同深浅的灰色。在遮罩模式下时,材质要么完全可见,要么完全不可见。当您需要可以定义复杂固体表面(如铁丝网,链环围栏等等)的材质时,这使它成为一种理想的解决方案。不透明部分仍将遵循照明。

您可以使用基本材质节点上的 不透明度遮罩剪辑值(Opacity Mask Clip Value) 属性来控制剪辑发生点。有关更多详情,请参阅遮罩混合模式文档

单击查看全图

法线

法线(Normal) 输入吸收了法线图,后者通过打乱每个单独像素的“法线”或面向方向,为表面提供重要的物理细节。

Axes.png

在上图中,两种武器都使用了相同的静态网格体(Static Mesh)。下图显示了一个非常详细的法线图,它提供了其他细节,并给人一种表面包含比实际呈现的多边形多得多的错觉。 法线图通常是从高分辨率建模包创建的,例如Pixologic ZBrush。

NormalNetwork.png

世界场景位置偏移

世界场景位置偏移(World Position Offset) 输入允许网格体的顶点在世界场景空间中由材质操控。这有助于实现使对象移动、改变形状、旋转和各种其他效果。这对于环境动画等很有用。

单击查看全图

上面的网络会使得对象同时旋转和上下波动,如同它在跳舞一样!

当使用世界场景位置偏移(World Position Offset)将对象扩展到超出其原始边界时,请记住,渲染程序仍然使用那些原始边界。这意味着您可能会看到剔除和阴影错误。您可以进入一个网格体的属性,并设置它的 范围边界(Scale Bounds) 属性来进行补偿,尽管这样会影响性能,并可能导致阴影错误。

世界场景位移和曲面细分乘数

世界场景位移(World Displacement) 的工作方式与世界场景位置偏移(World Position Offset)非常相似,但它使用曲面细分顶点而非网格体的基本顶点。为了启用这个功能,材质上的曲面细分(Tessellation)属性必须设置为非_无(None)_值。

曲面细分乘数(Tessellation Multiplier) 控制沿表面的曲面细分量,允许在需要的地方添加更多细节。与世界场景位移(World Displacement)一样,为了启用这个功能,曲面细分(Tessellation)属性必须设置为非_无(None)_值。

单击查看全图

当使用世界场景位移(World Displacement)将对象扩展到超出其原始边界时,请记住,渲染程序仍然使用那些原始边界。这意味着您可能会看到剔除和阴影错误。 要解决这些问题,您可以编辑网格体的属性 范围边界(Scale Bounds) 属性,但这种编辑可能导致性能耗尽,并引发其他错误(例如阴影错误)。

次表面颜色

只有在着色模型属性设置为次表面(Subsurface)时,次表面颜色(Subsurface Color) 才会被启用。 此输入允许您将一种颜色到材质,以模拟光通过表面时颜色的变化。例如,人类角色的皮肤上可能有一种红色的次表面颜色来模拟其表面之下的血液。

单击查看全图

环境遮挡

环境遮挡 用来帮助模拟在表面缝隙中发生的自我遮蔽。 通常,此输入将连接到某种类型的AO映射,这种映射通常在Maya、3ds Max或ZBrush等三维建模包中创建如。

NormalNetwork.png

折射

折射(Refraction)输入接受一个纹理或数值,该纹理或值模拟表面的折射率。这对于像玻璃和水这样的物体很有用,这些物体会折射穿过它们的光。

单击查看全图

常用折射率

空气

1.00

1.33

1.31

玻璃

1.52

钻石

2.42

透明涂层

透明涂层着色模型 可以用来更好地模拟在材质表面有一层薄的半透明薄膜的多层材质。 除此之外,透明涂层着色模型也可以用于金属或非金属表面。事实上,它是专门设计来对非有色金属上 的第二类光滑彩色薄膜进行建模的。透明涂层材质的一些例子包括丙烯酸或涂漆的透明涂层,以及金属表面的彩色薄膜,如易拉罐或车漆。

Clearcoat.png

透明涂层着色模型(Clear Coat Shading Model)在主材质(Main Material)节点上开辟了两种新的材质输入。

透明涂层(Clear Coat):透明涂层的层数,0代表标准着色模型,1是完全透明涂层模型。这对于遮蔽非常有用。

透明涂层粗糙度(Clear Coat Roughness):透明涂层的粗糙度。对于较小的值,我们的近似处理是准确的。此输入支持非常粗糙的透明涂层,但与其实际的世界场景对照物相比,这些涂层不会非常准确。

标签

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见