ShaderFX 介绍性示例工作流程

此示例演示如何创建两个纹理节点并将其混合在一起。

它演示如何:

示例:创建 ShaderFX 明暗器并打开 ShaderFX 编辑器:

  1. 在“透视”视口中,创建一个“平面”对象
  2. 打开材质编辑器并将 DirectX 明暗器材质应用到平面。

    如果您使用板岩材质编辑器,请双击“DirectX 明暗器”节点,以便可以查看其参数。

  3. 在“DirectX 明暗器”卷展栏上,从下拉列表中选择“ShaderFX”,然后单击“打开 ShaderFX”。

    3ds Max 将打开 ShaderFX 编辑器。

示例(续):创建两个纹理并使用“浮点”节点混合它们:

  1. 在 ShaderFX 工作区域中单击鼠标右键。从右键单击菜单中,选择“硬件明暗器节点”“纹理”“纹理贴图”。

    ShaderFX 将 TextureMap 节点添加到图形。

  2. 单击 TextureMap 节点以在工作区域右侧的“属性”面板中显示其设置。
  3. 在“属性”面板中,单击“我的纹理/路径”旁边的浏览按钮。

    在打开的文件对话框中,选择纹理文件。在此示例中,将使用混凝土纹理。

  4. 为第二个纹理重复步骤 1 和 2。在此示例中,将使用草地纹理。

    纹理由 www.cgtextures.com 提供。

  5. 在工作区域中单击鼠标右键,然后选择“硬件明暗器节点”“数学”“线性插值混合”以创建“LerpOp”节点,从而合并这两个纹理。
  6. 单击鼠标右键并选择“硬件明暗器节点”“值”“浮点”,以创建包含一个浮点值的“Val”节点。
  7. 将第一个“纹理贴图”的“颜色”属性连接到“LerpOp”的第一个“值”属性。
  8. 将第二个“纹理贴图”的“颜色”属性连接到“LerpOp”的第二个“值”属性。
  9. “Val”节点“浮点”属性连接到“LerpOp”的“混合”属性。

    “浮点”值控制每个纹理对混合结果的贡献量。例如,如果设置为 0.2,则生成的纹理主要为混凝土纹理。如果设置为 0.8,则生成的纹理主要为草地纹理。如果设置为 0.5,则平等地混合这两者。

  10. 要查看结果样例,请单击“线性插值”节点顶部的“渲染样例”图标 ,直到显示较大的预览。

    将“浮点”设置为 0.2

    .

    “线性插值混合”预览样例将显示混凝土纹理是主纹理。

    将“浮点”设置为 0.5

    .

    混凝土和草地纹理均匀地混合在一起。

    将“浮点”设置为 0.8

    .

    草地纹理为主纹理。

  11. “LerpOp”的“结果”属性连接到“TraditionalGameSurfaceShader”节点的“漫反射颜色”属性。

    现在,您可以在“真实”或“明暗处理”视口中可视化着色器。

示例(续):使用“顶点颜色”节点混合纹理:

  1. 单击鼠标右键并选择“硬件明暗器节点”“公共输入”“顶点颜色”。

    此时不使用“浮点”节点,而是使用顶点颜色来混合纹理。

  2. 单击以高亮显示连接“线性插值”中“浮点”节点的连线,然后按 Delete 键。
  3. “VertexColor”的“红色”属性连接到“LerpOp”的“混合”属性。这样,便可以使用“红色”通道混合纹理。
  4. 在视口中,确保已选中“平面”对象。在 “修改”面板上,将“长度分段”和“宽度分段”的值增加到 20。这样可将更多顶点添加到平面,以增强顶点绘制的定义。
  5. 此外在 “修改”面板上,向“平面”应用“顶点绘制”修改器。

    3ds Max 将打开“顶点绘制颜料盒”。

    现在,您将部分顶点绘制为红色。绘制为红色的顶点将显示草地纹理。

  6. 在“颜料盒”中,单击以激活 (禁用顶点颜色显示)。
  7. 默认色样应显示黑色。(如果不是黑色,请单击它,然后使用“颜色选择器”将其更改为黑色。)单击 (全部绘制)可使平面变为黑色。

    为顶点指定黑色通道后,该平面将显示混凝土纹理。

  8. 单击色样,然后将颜色更改为亮红色。
  9. 单击 (绘制)并在平面上进行绘制。您绘制为红色的顶点将采用草地纹理值。现在,您已通过绘制顶点混合纹理。

示例(续):倍增纹理以在平铺图案中重复它,从而创建更密集的不同效果:

  1. 在修改器堆栈中,单击以高亮显示“顶点绘制”修改器,然后单击 (从堆栈中移除修改器)。
  2. 在 ShaderFX 编辑器中,通过单击连线并按 Delete 断开“顶点颜色”节点的连接,然后将“Val”节点的浮点值重新连接到“LerpOp”的“混合”属性。
  3. 单击以高亮显示“顶点颜色”节点,然后按 Delete
  4. 单击鼠标右键并选择“硬件明暗器节点”“公共输入”“UV 集”以创建“UV 集”节点。
  5. 单击鼠标右键并选择“硬件明暗器节点”“数学”“倍增”以创建“MulOp”节点。
  6. 单击鼠标右键并选择“硬件明暗器节点”“值”“浮点”以创建另一个“Val”节点。
  7. “UV 集”节点的 UV 属性连接到“MulOp”的第一个“值”属性。
  8. “Val”节点的“浮点”属性连接到“MulOp”的第二个“值”属性。
  9. “MulOp”节点的“结果”属性连接到要平铺其图案的“TextureMap”的 UV 属性。
  10. 单击以选择新的“Val”节点,然后在“属性”面板上更改其“浮点”值。将“浮点”设置为较高的值,以便使图案更频繁地重复且更密集,或者设置为较低的值以使图案不那么频繁地重复。可通过单击“TextureMap”节点的“渲染样例” 图标预览生成的图案。

    值为 0.5

    值为 2.0