将组转换为函数并检查明暗器代码

创建新层组:

  1. 在组节点上单击 以进入组视图。
  2. 选择“硬件明暗器节点”“数学”“添加”和“硬件明暗器节点”“值”“颜色”来分别创建“添加”节点和“颜色”节点。
  3. 按如下所示连接节点:
    • 将“颜色”的“RGB”属性连接至“添加”的第一个“值”属性。
    • 将“相乘”的“结果”属性连接至“添加”的第二个“值”属性。
    • 将“添加”的“结果”属性连接至组节点的“漫反射颜色”属性。
  4. 选择新创建的“颜色”节点。在“特性”面板中,输入名称 OffsetColor 并将“UI 顺序”值更改为 3

    OffsetColor 现在显示在“材质编辑器”“参数”卷展栏中。

    “参数”卷展栏上的 OffsetColor 属性

将组转换为一个函数:

  1. 选择“相乘”和“添加”节点,然后选择“组”菜单 “创建组”。
  2. 在新创建的组上单击 。在组视图中,选择组节点,然后在“特性”面板上,将“名称”字段中为 MyColorFunction
  3. 也可以在“特性”面板上启用“组是函数”。使用此选项,这些节点的输出将作为一个函数封装在明暗器代码中。
  4. 为您的组节点端口指定唯一名称。当前,所有端口都被指定了“值”,因此明暗器是无效的。(如果您查看材质编辑器,“参数”卷展栏上将显示错误消息。)

    在“特性”面板中,进行以下更改:

    • 活动套接字:0

      活动套接字标签:ColorA

    • 活动套接字:1

      活动套接字标签:Multiplier

    • 活动套接字:2

      活动套接字标签:ColorB

    注: 在将组转变为函数时,所有组节点端口必须具有唯一的名称。否则,明暗器将变为无效。
  5. 退出组视图并选择“工具”菜单 “计算图形”。

    现在,该明暗器再次有效了。

    在材质编辑器中,此明暗器的“参数”卷展栏将重新出现。

保存明暗器文件并检查明暗器代码

  1. 退出组视图。
  2. 选择“材质”节点。在“属性”面板的“硬件明暗器/文件名”字段中,输入明暗器文件的文件名,然后按 Enter 键。
  3. 单击“硬件明暗器/保存到磁盘”。

    路径中的明暗器文件将保存为工具提示显示在底部的工作区域。

    注: ShaderFX 将组作为文件保存在文件夹 /users/<用户名>/my documents/3dsmax/shaderfx/shaders/

    如果将明暗器保存为 FX 文件,您现在将 FX 明暗器作为 DirectX 明暗器来加载,而无需使用 ShaderFX。

    您可以选择保存几种不同的明暗器格式:请参见导出到 HLSL、CgFX 和 GLSL

检查明暗器代码,然后简化它:

  1. 使用文字编辑器来检查明暗器文件。搜索“MyColorFunction”。

    MyColorFunction 在明暗器文件中被定义为函数。SHADERDATA 结构作为输入列出。这是默认设置。

  2. 若要针对清除器代码禁用此设置,则进入 MyColorFunction 组的组视图,选择组节点,然后在“特性”面板上启用“不添加数据结构作为函数输入”。

    重新保存明暗器文件,可以看到 SHADERDATA 结构将不再作为输入参数列出。