ノード ファクトリ
 
 
 

ノード ファクトリは、カスタム シェーダとフェノメナの宣言ファイルを元に 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)にメッセージが書き出されます。

パーシング処理のエラー メッセージ

パーサは処理中のファイル名を出力します。エラーが発生すると、行番号とパーサが実際に予想したヒントが書き出されます。

注:ファクトリ ノード パーサは mental ray の構文を完全には理解しないので、パーシング処理に関するエラーは未知のシェーダ要件やコマンドに遭遇した際にフェノメナの宣言ファイルで発生することがよくあります。パーサは悪影響を及ぼしたり、それ以上の処理をおこなわずにこれらのエラーから回復します。

回復不能のエラーが発生するのは、シェーダやフェノメナの宣言の一部の構文が間違っていたときだけです。たとえば、パーサはパラメータ リストにカンマが足りないことが認識できません。このような場合、宣言は廃棄されます。

カスタム ノード ファクトリの冗長

カスタム ノード ファクトリは通常、処理済みのすべてのノードのメッセージなど、さまざまな進捗状況を報告します。これらのメッセージはスクリプト エディタ(Script Editor)ウィンドウに表示されますが、多数のノードを解析する場合、ウィンドウがすぐに埋まってしまいます。新しいオプションを使用すると、メッセージの冗長性をコントロールできます。これは、MEL 関数の miSetFactoryVerbosity(verbosity_level) で設定します。

設定できる冗長レベルは以下です。

このオプションはユーザ プリファレンスに格納されます。したがって、次に Maya を再起動したときにも、このプリファレンスが保持されます。ノード ファクトリは、mental ray UI と関連スクリプトが確立される前に起動するため、これは重要です。