如何创建一个双纹理材质进行顶点颜色绘制

此页面介绍了一个特定实例,讲述如何创建并使用一个双纹理材质,在网格体上进行顶点颜色绘制。

Choose your operating system:

Windows

macOS

Linux

顶点颜色绘制(Vertex Color Painting)是一个非常强大的工具,它拥有多种使用方式。 创建材质进行双向纹理混合 页面中拥有基础解释,讲述如何设置材质将纹理与顶点颜色绘制进行混合。此页面更为详细讲述了此技术的使用情况。 此文档介绍了如何创建一个双纹理材质进行顶点颜色绘制,其将与一个岩石纹理和一个青苔纹理混合。创建此混合材质后,即可使用网格体绘制模式将此纹理绘制到关卡中的任意网格体上。可以在网格体绘制模式面板中调整设置,增加或减少覆盖,让纹理在网格体上呈现多样性。

不带青苔的岩石

带青苔的岩石

步骤

创建材质

  1. 在内容浏览器中点击 新增(Add New) > 材质(Material)

    点击查看大图。

  2. 为新材质命名。在此例中我们使用的是 M_2TextureMoss

    RenameMaterial.png

  3. 双击新材质将其在材质编辑器中打开。

创建并设置TextureSample节点

  1. 首先需要添加一个纹理。在图表中点击右键,然后在搜索栏中输入 texture 。在结果列表中选择 TextureSample 。如此便会将 TextureSample 节点添加到图表。

    点击查看大图。

  2. 范例中需要4个节点,所以需要复制TextureSample节点并粘贴3次,最后便拥有一共4个TextureSample节点。

    点击查看大图。

  3. 放置节点,让其中两个靠近图表顶部,让两个靠图表底部。这样便于区分,也更直观。

  4. 首先选择 漫反射(Diffuse) 纹理。点击一个上方的TextureSample节点。在左边的 细节(Details) 面板中找到 材质表达式纹理基础(Material Expression Texture Base) 部分。点击 纹理(Texture) 属性的下拉菜单选择一个纹理。在搜索栏中输入 rock_b ,在结果中选择 T_Rock_Basalt_D

    点击查看大图。

  5. 点击顶部的另一个TextureSample节点。在细节面板中点击"纹理(Texture)"下拉菜单,然后在搜索栏中输入 grass 。在结果中选择 T_Ground_Grass_D 。这是第二个漫反射贴图。

    点击查看大图。

  6. 现在需要选择 法线(Normal) 贴图。点击下方的第一个TextureSample节点。在细节面板中点击"纹理(Texture)"下拉菜单并再次输入 rock_b 。此时选择 T_Rock_Basalt_N 。这个法线贴图与步骤4和步骤5中选择的漫反射贴图相匹配。

    点击查看大图。

  7. 点击最后一个TextureSample节点,在细节面板中点击"纹理(Texture)"下拉菜单并再次输入 grass 。在结果中选择 T_Ground_Grass_N

    点击查看大图。

添加顶点颜色和线性插值节点

  1. 现在我们将添加顶点颜色(Vertex Color)节点。在图表中点击右键,然后在搜索栏中输入 vertex 。在结果中选择 VertexColor 。添加VertexColor节点后,您将注意到它是一个红色的输入数据节点。

    点击查看大图。

  2. VertexColor节点将基于线性插值或 lerp 将两个漫反射贴图组合在一起。右键点击图表并在搜索栏中输入 linear 。然后在结果中选择 LinearInterpolate 。如此一来将在图表上放置一个 Lerp 节点。

    点击查看大图。

  3. 我们需要两个节点,所以先复制第一个Lerp节点,然后将第二个粘贴到图表上。一个用于漫反射贴图,另一个用于法线贴图,所以要以此来放置Lerp节点的位置。

    点击查看大图。

  4. 在岩石漫反射贴图上拖出 RGB 输出并将其连接到首个Lerp节点上的 A 输出。

    点击查看大图。

  5. 在草地漫反射贴图上拖出 RGB 输出并将其连接到首个Lerp节点上的 B 输出。现在两个漫反射贴图都已连接。

    点击查看大图。

  6. 在岩石法线贴图上,从 RGB 输出连出引线,将其连接到第二个Lerp节点的 A 输入。在草地法线贴图上,从 RGB 输出连出引线并将其连接到第二个Lerp节点上的 B 输入。现在两个法线贴图均已连接。

    点击查看大图。

  7. Lerp节点上的 Alpha 输入是控制岩石和草地纹理混合的变量。VertexColor节点将控制透明度值,因此要从VertexColor节点的顶部输出连出引线,然后连接到漫反射Lerp节点上的Alpha输入,然后再次在法线Lerp节点上执行相同操作。

    点击查看大图。

  8. 现在从漫反射Lerp(Diffuse Lerp)节点的输出连出引线,连接到Material节点上的 底色(Base Color) 输入。从法线Lerp(Normal Lerp)节点的输出连出引线,然后连接到Material节点的 法线(Normal) 输入。

    点击查看大图。

设置剩余的材质属性

  1. 现在我们在Material节点上设置剩余的属性。从Material节点上的 Metallic 输出连出引线,然后在搜索栏中输入 constant 。选择 Constant 添加一个常量节点。保留默认值 0

    点击查看大图。

  2. 我们还需要将高光度(Specular)值设为0,所以将Material节点上的 Specular 输入连接到步骤1中设置的同一个Constant节点。

  3. 我们希望将 粗糙度(Roughness) 值设为大于0,因此需要将原始Constant节点复制粘贴来创建另一个节点。再将 Roughness 输入连接到第二个Constant节点。选择此Constant节点,然后在细节面板中将值设为 1

    点击查看大图。

最终结果

现在我们便拥有了用于顶点颜色绘制的材质,在网格体上绘制纹理。在 笔刷(Brush) 部分中调整 强度(Strength) 设置即可改变绘制到网格体上的青苔纹理的量。可根据大型部分或小细节的绘制来上下调整 半径(Radius) 设置。而调整 衰减(Falloff) 设置即可创建纹理的硬边,或使其逐渐淡化。

RockAfterVertexPaint.png

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消