フェノメナを構築し使用する

フェノメナの構築

フェノメナイザ(Phenomenizer)は mental ray for Maya の拡張で、これを使用すると、mental ray のノードから構成されるシェーディング グラフを mental ray フェノメナ(mental ray Phenomenon)に変換することができます。このフェノメナ(Phenomenon)は、シェーディング グラフをカスタム入出力パラメータを持つ 1 つの新しいシェーディング ノードにカプセル化し、ユーザから内部の詳細を隠します。フェノメナは通常の .mi ファイルに格納され、mental ray シェーダ マネージャ(mental ray Shader Manager)を使用して通常のシェーダ ノードとして Maya にロードすることができます。詳細については、「フェノメナ」を参照してください。

フェノメナ(Phenomena)の作成

Maya シェーディング グラフを構築およびアタッチするための基本は、フェノメナイザ(Phenomenizer)ノードとも呼ばれる、Maya ユーティリティ ノード mental ray フェノメナ(mentalray Phenomenon) (Maya ノード タイプ: mentalrayPhenomenon)です。このノードを使用すると、Maya シェーディング グラフを簡単にアタッチでき、必要な入力アトリビュートがフェノメナ(Phenomenon) ノードに自動的に生成されます。また、mental ray のすべての高度なフェノメナ(Phenomenon) オプションへのアクセスも提供されます。後で使用するために、フェノメナの完全な記述を .mi ファイルに書き出しておくことが可能です。

フェノメナ オプション(Phenomenon Options)

フェノメナ(Phenomenon)オプションはすべて、オプション(Options)タブの下にグループ化されているノードのアトリビュート エディタ(Attribute Editor)にあります。これには、バージョン番号、apply フラグ、要件などがあります。詳細については、「アトリビュート エディタ(Attribute Editor)の概要」を参照してください。

Maya のワークフロー

Maya でフェノメナを構築するには

  1. 次のように、初期フェノメナ(Phenomenon)を構築します。
    • フェノメナイザ(Phenomenizer)ノードを作成します(ハイパーシェード(Hypershade)で、mental ray ノードの作成 > その他(Create mental ray Nodes > Miscellaneous)を選択します)。
    • フェノメナ(Phenomenon)のルートとして使用する mental ray レンダー ノードを作成します。このノードの出力によって、フェノメナ(Phenomenon)全体の出力アトリビュートが決まります。
    • Shift キーを押しながらノードをフェノメナイザ(Phenomenizer) ノードにドラッグします。2 つのノードが選択された状態で接続エディタ(Connection Editor)が開きます。
    • ノードのメッセージ(message)アトリビュートをフェノメナイザ0(Phenomenizer)のルート アトリビュートに接続します。必要に応じて、左側/右側の表示 > 非表示にされたアトリビュートの表示(Left/Right Display > Show Hidden)を選択してメッセージ アトリビュートを確認してください。
      注:

      フェノメナイザ(Phenomenizer)ルート ノードを接続すると、そのノードのすべての付加的な出力(読み取り専用)アトリビュートも出力としてフェノメナイザノードにダイナミックに追加されます。それらのアトリビュートは、フェノメナ(Phenomenon)の最終的な出力パラメータ構造体のフィールドと見なされます。

  2. シェーディング グラフの内容を構築します。
    • 新しいノードを作成し、駆動ノードとしてルート ノードに接続します。
    • 新しいノードの入力アトリビュートをインタフェース パラメータとして公開しない場合は、入力アトリビュートを希望の定数値に設定します。
  3. フェノメナ(Phenomenon) インタフェースを構築します。

    フェノメナイザ(Phenomenizer)を目的のノードにドラッグ&ドロップし、次にインタフェース配列要素を必要なアトリビュートに接続して、内容ノードの入力アトリビュートからフェノメナ(Phenomenon)の入力パラメータを作成します。

    注:
    • インタフェース要素を接続すると、そのプラグの背後のアトリビュートがフェノメナイザ(Phenomenizer)にダイナミックにコピーされ、そのアトリビュートを他のノードに接続できるようになります。ルート アトリビュートと異なり(ルートは 1 つしか存在できません)、1 つのインタフェース要素から複数の接続が作成される可能性があります。フェノメナイザ(Phenomenizer)は、新しい接続が既存のダイナミック アトリビュートと互換性があるかどうかをチェックします。互換性がない場合、接続は拒否され、エラー メッセージが報告されます。
    • インタフェース要素またはルート アトリビュートの接続を解除すると、対応するダイナミック アトリビュートも削除されます。

.mi ファイルにフェノメナを書き出すには

  1. Maya でフェノメナ(Phenomenon) ノードを選択します。
  2. ファイル > 選択項目の書き出し(File > Export Selection) > を選択します。
    • ファイル タイプ(File type)mentalRay に設定します。
    • 選択した項目のみ書き出し(Export selected items only)をオンにします。
    • フィルタのファクトリ シェーダ(Factory shaders)と、フェノメナイザ(Phenomenizers)を選択します。
  3. 選択項目を書き出す(Export Selection)ボタンをクリックします。

一般的なルール

  • mental ray フェノメナは、閉じていると見なされます。フェノメナの内部のシェーダは、外部のシェーディング グラフに直接接続しないでください。代わりに、フェノメナ(Phenomenon) インタフェースを通過する必要があります。
  • mental ray は、パラメータ構造体全体への接続はサポートしておらず、個々のフィールドへの接続だけをサポートしています。したがって、インタフェース要素は、原子データ型(boolean、integer、float、double など)および 3 つの数値の子を持つ複合体(ベクトルまたはカラー)だけに接続できます。mental ray のタグはメッセージ アトリビュートとして表されます。その他のタイプの接続は拒否されます。ただし、ルート ノードはどんなタイプの結果アトリビュートも(複合体でも)持つことができます。
  • フェノメナイザを使用する接続エディタ(Connection Editor)の使用が推奨されます。ハイパーシェード(Hypershade)のワークフローは多少制限されます。ハイパーシェードのワークフローでは、インタフェース要素を複合プラグと配列要素に接続することはできません。さらに、UI にダイナミック アトリビュートが表示されないこともあります。
  • シーン(またはシェーディング グラフ)は定期的に保存してください。フェノメナ(Phenomenon) ワークフローを使用すると、Maya ディペンデンシー グラフに循環的依存関係がもたらされ、問題が発生する可能性があります。

制限事項

  • アトリビュートの命名の衝突は自動的には解決されません。新しいインタフェース要素をアトリビュートに接続すると、対応するインタフェース アトリビュートの新しい名前としてそのアトリビュートの名前が使用されます。そのような名前がインタフェースにすでに存在する場合は、アトリビュートの作成は失敗します。新しいインタフェース接続を確立する前に、必要に応じてインタフェースのアトリビュートの名前を変更してください。

シーンでのフェノメナの使用

シーンでフェノメナを使用するには、シェーダ マネージャ(Shader Manager)を使ってフェノメナをロードする必要があります。

ロードしたフェノメナは、レンダー ノードの作成(Create Render Node)ウィンドウのその他(Miscellaneous)セクションに置かれます。適用(Apply)フラグを立てた場合は、フェノメナは設定に応じたセクションに表示されます (フラグ適用の詳細については、シェーダの宣言ファイルを記述するを参照してください)。