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