节点工厂
 
 
 

节点工厂是 Maya mental ray 的一个特殊组成部分,它可从自定义着色器声明和现象声明创建 Maya 类型节点。(当导出集合的着色网络以用作现象时,会将网络导出到 .mi 声明文件。)

节点工厂会解析声明并根据要创建的内容将它打包到单个节点(着色器或现象)中。

若要查看在“脚本编辑器”(Script Editor)中创建的每个节点类型,请将选项“Var miFactoryVerbosity”设定为 4 或更大。

如果在编写着色器或导出现象时设置了合适的标志,那么在“创建渲染节点”(Create Render Node)窗口和“Hypershade”(在“mental ray > 杂项”(mental ray > Miscellaneous)区域中或在其他区域之一中)中会提供已成功创建的节点类型。

节点工厂解析器

节点工厂解析器接受任何有效的 mental ray 着色器或现象声明以及特殊扩展。会将消息写入“脚本编辑器”(Script Editor)以通知解析进度和出现的任何错误。

解析错误消息

解析器会输出它正处理的文件的名称。如果出错,则会写入行号和关于解析器实际应该如何的提示。

注意

工厂节点解析器不了解完整的 mental ray 语法,因此在遇到未知着色器要求或命令时,在现象声明内经常会发生解析错误。该解析器会从这些错误无害恢复,并继续。

仅当着色器或现象声明的多个部分的语法错误时,才会发生不可恢复的错误。例如,解析器无法识别参数列表中缺少逗号的情况。这种情况下,会丢弃该声明。

自定义节点工厂详细级别

自定义节点工厂通常会报告进度的各个阶段,包括用于已处理的每个节点的一条消息。这些消息显示在“脚本编辑器”(Script editor)窗口中,并且如果解析许多节点,它们可能会很快填满该窗口。一个新选项可用于控制消息详细级别。它是通过 MEL 函数 miSetFactoryVerbosity (verbosity_level) 设定的

具有下列详细级别:

  • 1-错误
  • 2-警告
  • 3-信息
  • 4-进度(默认)
  • 5-细节

该选项存储在用户首选项中。因此,下次重新启动 Maya 时,Maya 会保留该首选项。这一点很重要,因为节点工厂在建立所有 mental ray UI 和相关脚本之前启动。