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

 
 
 

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

在 Maya 的早期版本中,必须创建两个单独的着色网络,一个用于 Maya 的插件着色器,另一个用于 mental Ray 自定义着色器。现在,只需为 Maya 插件着色器创建一个着色网络,在处理期间,mental Ray for Maya 会将连接自动平移至相应的 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 自定义着色器与 mental ray for Maya 自定义着色器关联,请执行下列操作:

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

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