为5路纹理混合创建材质

此页面介绍了如何为5路(1-ARGB)纹理混合设置材质。

Windows
MacOS
Linux

要在混合权重设置中处理5个纹理,您需要创建一个类似于这样的材质:

5-Way_Material.png

该材质的工作原理和3路及4路材质的设置类似。但是,我们现在通过利用Alpha值减一来获得第五个颜色。下面是工作原理:

  • 每个颜色通道(ARGB)有其各自的Linear Interpolation(线性插值)表达式。

  • 添加了一个额外的插值 ,它由1减去顶点颜色(Vertex Color)节点的alpha值后所得的值驱动。这将是第五个颜色。

  • 每个纹理插入到其对应插值节点的B输入。

  • 与纹理1对应的插值插入到材质中,并且其alpha由顶点颜色的Alpha通道驱动。

  • 与纹理2对应的插值连接到与纹理1对应的插值的A输入,并且其Alpha由顶点颜色的红色(Red)通道驱动。

  • 与纹理3对应的插值连接到与纹理2对应的插值的A输入,并且其Alpha由顶点颜色的绿色(Green)通道驱动。

  • 与纹理4对应的插值连接到与纹理3对应的插值的A输入,并且其Alpha由顶点颜色的蓝色(Blue)通道驱动。

  • 与纹理5对应的插值连接到与纹理4对应的插值的A输入,并且其Alpha由顶点颜色的1-alpha驱动。

  • 纹理1也环绕回来,连接到第五个即最后一个插值的A端。这使得纹理1成为默认纹理。

一旦这样设置后,混合权重(Blend Weights)的 纹理数量(Texture Count) 应该设置为 5 (1-ARGB)

5-Way_Setting.png

下面是该材质的一个示例,首先在RGB模式下查看该网格体,展示了适当位置的顶点颜色。注意,在该设置中,Alpha(显示为黑色)与纹理1对应,红色 与纹理2对应,绿色 与纹理3对应,蓝色 与纹理4对应。附带地Alpha也应用于纹理5,并且也在底部显示为黑色。

5-Way_VertexColor.png

下面是最终结果:

5-way_result.png

注意,第一张图片中的顶点颜色是黑色(纹理1),没有任何改变。这是因为纹理1也插入到了第四个插值表达式的A输入(如上所示),从而使其成为了默认纹理。从本质上讲,您以纹理1为起始点,可以根据需要在其上面绘制纹理2、3和4,也可以在任何时候将纹理1再次绘制回到它们之上。

如果您要反复设置这样的材质,那么最好部署一个自定义的材质函数

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback