分层材质的应用十分广泛,经典的就是风景的制作:一个材质包括了泥土、草地、积雪。

下面的例子是 分层材质用于某个物体,使得其表层是油漆,内层是金属:

用一张纹理当做遮罩,来插值其他两张纹理的材质也是能得到相同的效果,但是功能模块高度耦合没法复用;所以 UE4 提供了另外一种方法——Material Function,它的创建方法:

Content / Materials 目录下,右键点击 Materials & Textures 选择 Material Function

分层材质(Layered Materials)的应用【UE4】_右键

打开的材质编辑器如图所示:

分层材质(Layered Materials)的应用【UE4】_Material_02

可以看到,它和我们之前所见的材质编辑器略有不同,视图中只有一个 Output Result 节点,没有我们熟悉的 base color、metalic 、roughness 输入 pin。

因此我们需要新建一个节点——在空白处右键搜索 “MakeMaterialAtrribute” 节点

分层材质(Layered Materials)的应用【UE4】_功能模块_03

这样我们就可以依照之前的方式来定义我们的材质了,例如定义一个浅灰色,并添加两个常量节点分别连接到 metalic(1.0) 和 roughness(0.25) 输入 pin 上;

然后我们再如法炮制另外一个 Material Functions

分层材质(Layered Materials)的应用【UE4】_复用_04

接着,我们新建一个材质,将它们两者结合起来:

分层材质(Layered Materials)的应用【UE4】_右键_05

需要注意的是,我们需要勾选 Use Material Atrributes

分层材质(Layered Materials)的应用【UE4】_Material_06

并使用 Material Layer Blend 类型的节点来连接 Material Functions,本例使用的是 MatLayerBlend_Simple

把材质设置到模型上,便可得到如下效果:

分层材质(Layered Materials)的应用【UE4】_UE4_07

后续,我们还可以添加新的 Material Function 或 Material来获得更加复杂的结果:

分层材质(Layered Materials)的应用【UE4】_右键_08

分层材质(Layered Materials)的应用【UE4】_UE4_09

(完)