UE4 中分层材质(Layered Materials)的应用实例

726 阅读1分钟

这是我参与8月更文挑战的第13天,活动详情查看: 8月更文挑战

分层材质的应用场景

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

具体实例

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

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

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

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

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

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

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

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

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

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

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

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

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

(完)