将 Maya 自定义着色器与 Maya mental ray 自定义着色器关联
 
 
 

为 Maya 软件渲染器编写的自定义着色器可以转换为等效的 Maya mental ray 自定义着色器。这样,就需要两个着色器(一个自定义 Maya 插件着色器和一个 mental ray 自定义着色器),但仅需要一个着色网络。

在 Maya 的早期版本中,必须创建两个单独的着色网络,一个用于 Maya 的插件着色器,另一个用于 mental ray 自定义着色器。现在,只需为 Maya 插件着色器创建一个着色网络,在处理期间,Maya mental ray 会将连接自动平移至相应的 mental ray 着色器。

提示
  • mental ray 着色器必须与 Maya 插件着色器具有相同的名称。
  • 如果先加载了 mental ray 着色器,则必须创建自定义 MEL 脚本并将其置于该着色器的路径下。脚本名称应为 mentalrayCustomNodeGhost.mel 并且应包含一个函数,如下所示:
int mentalrayCustomNodeGhost(string $shader)
{
// return "true" if $shader should be used in place of a custom Maya shader of the same name
}

若要将 Maya 自定义着色器与 Maya mental ray 自定义着色器关联,请执行下列操作:

  1. mental ray 着色器及其 .mi 文件声明必须具有与 Maya 自定义着色器节点相匹配的名称。有关详细信息,请参见编写着色器声明文件
  2. 在着色器管理器中加载 Maya mental ray 自定义着色器的 .mi 声明(如果尚未加载它)。有关详细信息,请参见“窗口 > 渲染编辑器 > mental ray > 着色器管理器(Window > Rendering Editors > mental ray > Shader Manager)”和加载着色器(Load shaders)

    Maya mental ray 会自动检测 Maya 自定义着色器是否与新的 mental ray 着色器具有相同的名称。渲染时,它会根据需要使用 mental ray 着色器。