加载着色器

 
 
 

可以使用下列方法导入自定义着色器库:

下面将更加详细地介绍这些方法。

导入自定义着色器库

  1. 将声明文件复制到 mental ray for Maya 安装的 shaders/include 目录中。
  2. 将库文件复制到 mental ray for Maya 安装的 shaders 目录中。

    mental ray for Maya 能够加载并使用自定义着色器库进行渲染。将声明文件放置在 include 目录中还会使用 mental ray for Maya 来解析文件并创建与库中声明的着色器相对应的新 Maya 节点类型。

使用 mental ray“着色器管理器”(Shader Manager)

使用“着色器管理器”(Shader Manager)能够以交互方式加载和卸载 mental ray 着色器库,并在 Maya 会话中使用这些着色器库(无需先关机,且无需设定环境变量 MI_CUSTOM_SHADER_PATH)。

可以从包含 mental ray 着色器声明的 .mi 库文件列表中选择。选定的 .mi 库文件中包含的着色器会自动显示在“Hypershade”中,就像 Maya 和 mental ray for Maya 基础着色器节点一样。mental ray for Maya 基础着色器现在完全集成到“Hypershade”“创建渲染节点”(Create Render Node)面板中

(无需设定环境变量 MAYA_MRFM_SHOW_CUSTOM_SHADERS 即可在“Hypershade”中显示自定义着色器)。

加载或卸载自定义 mental ray 着色器

  1. 选择窗口 > 渲染编辑器 > mental ray > 着色器管理器(Window > Rendering Editors > mental ray > Shader Manager)

    “着色器管理器”(Shader Manager)将打开,并显示加载了哪些声明文件。

  2. 单击以加载或卸载声明文件,自动加载文件,或者获取有关文件的信息。有关 mental ray“着色器管理器”(Shader Manager)窗口中的按钮和选项的描述,请参见窗口 > 渲染编辑器 > mental ray > 着色器管理器(Window > Rendering Editors > mental ray > Shader Manager)

使用 MI_CUSTOM_SHADER_PATH 和 MI_LIBRARY_PATH 环境变量

需要将 .mi 文件添加到 MI_CUSTOM_SHADER_PATH 环境变量路径(除非使用着色器管理器),才能加载要成为渲染的 mental ray for Maya 的任何着色器。

还需要将着色器库二进制文件添加到 MI_LIBRARY_PATH 环境变量。

注意

如果在多个目录中包含着色器库二进制文件,则必须将 maya.rayrc 文件与 MI_CUSTOM_SHADER_PATH 和 MI_LIBRARY_PATH 环境变量一起使用。有关详细信息,请参见编辑 maya.rayrc 文件

MI_CUSTOM_SHADER_PATH

该变量会将 .mi 文件所在的目录告知 mental ray for Maya。在插件加载时将解析位于 MI_CUSTOM_SHADER_PATH 中的每个 .mi 文件。

应在加载插件之前设定该环境变量。mental ray for Maya 以不同的方式解释该变量。如果该变量不为空,但没有指向某个现有文件或目录,那么在(自动)加载 mental ray for Maya 插件时,将打开文件对话框。应该选定某个 .mi 文件,该文件包含 mental ray 着色器/现象声明,工厂应为这些着色器/现象声明创建 Maya 节点类型。文件对话框将在一个循环中再次出现,以允许加载多个 .mi 文件。按“取消”(Cancel)按钮将停止加载。

如果工厂应该自动加载所有需要的文件,那么应在环境变量中提供包含 .mi 文件的一个文件或目录。加载单个文件时,请按如下所示设定 MI_CUSTOM_SHADER_PATH:

  • Linux

    setenv MI_CUSTOM_SHADER_PATH /usr/local//autodesk/Maya2013/mentalray/shaders/include/base.mi

  • Windows

    set MI_CUSTOM_SHADER_PATH=C:/Program Files/Autodesk/Maya2013/mentalray/shaders/include/base.mi

解析目录中的所有文件时,可以使用(在这种情况下将不会显示任何文件对话框)以下命令:

  • Linux

    setenv MI_CUSTOM_SHADER_PATH /usr/local/mi/rayinc

  • Windows

    set MI_CUSTOM_SHADER_PATH=c:/usr/local/mi/rayinc

MI_CUSTOM_SHADER_PATH 的默认值为 Maya2013/mentalray/include。

可以修改 Maya.env 以将自己的目录添加到路径中。例如,Maya.env 中的以下行会将 C:\myshader\include 附加到路径中:

MI_CUSTOM_SHADER_PATH = C:\myshader\include

若要确保默认情况下加载您的着色器,可以将相应的目录添加到路径,或者将文件放置到路径中。

加载 mental ray 插件,解析 base.mi、contour.mi 和 physics.mi 时,将为在 .mi 文件中声明的每个着色器创建节点。请参见要创建的节点对应的“脚本编辑器”(Script Editor)

对于着色器,也是如此。如果 .mi 文件位于 MI_CUSTOM_SHADER_PATH 中,那么应该能够在“脚本编辑器”(Script Editor)中找到着色器的名称。例如,我的“脚本编辑器”(Script Editor)包含下列行(如果 optionVar miFactoryVerbosity 设定为 4 或更大)。(myshader1 和 myshader2 是在 myshader.mi 中声明的)

 // generating nodes ...
 // parsing C:/myshader/include/myshader.mi
 // myshader1
 // myshader2

MI_LIBRARY_PATH

该变量告知 mental ray for Maya 在何处查找着色器库二进制文件。

加载单个文件时,请按如下所示设定 MI_LIBRARY_PATH:

  • Linux

    setenv MI_LIBRARY_PATH /usr/local//autodesk/Maya2013/shaders/base.so

  • Windows

    set MI_LIBRARY_PATH=C:/Program Files/Autodesk/Maya2013/mentalray/shaders/base.dll

解析目录中的所有文件时,可以使用(在这种情况下将不会显示任何文件对话框)以下命令:

  • Linux

    setenv MI_CUSTOM_SHADER_PATH /usr/local/mi/raylib

  • Windows

    set MI_CUSTOM_SHADER_PATH=c:/usr/local/mi/raylib

可以修改 Maya.env 以将自己的目录添加到路径中。例如,Maya.env 中的以下行会将 C:\myshader\lib 附加到路径中:

MI_LIBRARY_PATH = C:\myshader\lib

若要确保默认情况下加载您的二进制文件,可以将相应的目录添加到路径,或者将文件放置到路径中。