ノード ファクトリは、カスタム シェーダとフェノメナの宣言ファイルを元に Maya 対応のノードを作成する、mental ray for Maya プラグインの特殊な部分です (構築済みのシェーディング ネットワークをフェノメナとして使用するために書き出すと、ネットワークは .mi 宣言ファイルとして書き出されます)。
ノード ファクトリは宣言ファイルを解析して、1 つのノード(作品によってシェーダまたはフェノメナとなる)に組み込みます。
作成中の各ノードのタイプをスクリプト エディタ(Script Editor)に表示させるには、Var miFactoryVerbosity オプションを 4 以上に設定します。
正常に作成されたタイプのノードは、レンダー ノードの作成(Create Render Node)ウィンドウとハイパーシェード(Hypershade)の、mental ray > その他(mental ray > Miscellaneous)セクションまたはその他のセクションの 1 つで使用できます(シェーダの記述時まはたフェノメナの書き出し時に設定したフラグによる)。
ノード ファクトリ パーサは、有効な mental ray シェーダやフェノメナの宣言ファイル、そして特殊な拡張子をすべて受け付けます。構文解析の進行状況と発生したあらゆるエラーをユーザに通知するために、スクリプト エディタ(Script Editor)にメッセージが書き出されます。
パーサは処理中のファイル名を出力します。エラーが発生すると、行番号とパーサが実際に予想したヒントが書き出されます。
回復不能のエラーが発生するのは、シェーダやフェノメナの宣言の一部の構文が間違っていたときだけです。たとえば、パーサはパラメータ リストにカンマが足りないことが認識できません。このような場合、宣言は廃棄されます。
カスタム ノード ファクトリは通常、処理済みのすべてのノードのメッセージなど、さまざまな進捗状況を報告します。これらのメッセージはスクリプト エディタ(Script Editor)ウィンドウに表示されますが、多数のノードを解析する場合、ウィンドウがすぐに埋まってしまいます。新しいオプションを使用すると、メッセージの冗長性をコントロールできます。これは、MEL 関数の miSetFactoryVerbosity (verbosity_level) で設定します。
このオプションはユーザ プリファレンスに格納されます。したがって、次に Maya を再起動したときにも、このプリファレンスが保持されます。ノード ファクトリは、mental ray UI と関連スクリプトが確立される前に起動するため、これは重要です。