mental ray for Maya は、カスタム シェーダ ライブラリをロードし、レンダーすることもできます。また、include ディレクトリに宣言ファイルを配置すると、mental ray for Maya を使用してファイルを構文解析し、ライブラリ内で宣言されたシェーダに対応する新規の Maya ノード タイプを作成します。
シェーダ マネージャ(Shader Manager)では、Maya セッション時に mental ray シェーダ ライブリのロード、アンロード、操作を行うことができます(最初のシャットダウン、環境変数 MI_CUSTOM_SHADER_PATH の設定は不要です)。
mental ray シェーダ宣言を収納した .mi ライブラリ ファイルのリストから選択することができます。.mi ライブラリ ファイルに収納されたシェーダは、Maya と mental ray for Maya ベース シェーダ ノードと同様に、自動的にハイパーシェード(Hypershade)に表示されます。この場合、mental ray for Maya ベース シェーダは、ハイパーシェードとレンダー ノードの作成(Create Render Node)パネルに完全に統合されています
(ハイパーシェード(Hypershade)でカスタム シェーダを表示するために、環境変数 MAYA_MRFM_SHOW_CUSTOM_SHADERS の設定は不要です)。
カスタム mental ray シェーダをロードまたはアンロードするには
環境変数 MI_CUSTOM_SHADER_PATH と MI_LIBRARY_PATH を使用する
mental ray for Maya でレンダーするシェーダをロードするには、シェーダ マネージャ(Shader Manager)を使用する場合を除き、.mi ファイルを MI_CUSTOM_SHADER_PATH 環境変数に追加する必要があります。
シェーダ ライブラリ バイナリを MI_LIBRARY_PATH 環境変数に追加することも必要です。
多数のディレクトリにシェーダ ライブラリ バイナリが存在する場合、環境変数 MI_CUSTOM_SHADER_PATH および MI_LIBRARY_PATH と一緒に maya.rayrc ファイルを使用する必要があります。詳細については、maya.rayrc ファイルを編集するを参照してください。
この変数は mental ray for Maya に .mi ファイルのあるディレクトリの位置を教えます。MI_CUSTOM_SHADER_PATH にあるすべての .mi ファイルはプラグインのロード時に解析されます。
この環境変数は、プラグインをロードする前に設定します。mental ray for Maya がこの変数を解釈する方法には何通りかのパターンがあります。この環境変数が空でなくても、既存のファイルやディレクトリにポイントしていない場合は、ファイル ダイアログが開き、mental ray for Maya プラグインが(自動的に)ロードされます。ファクトリが作成する Maya ノード タイプの mental ray シェーダ/フェノメナの宣言を含む .mi ファイルを選択します。ファイルのダイアログが繰り返し表示され、複数の .mi ファイルを同じようにロードすることができます。キャンセル(Cancel)ボタンを押すとダイアログは表示されなくなります。
ファクトリに必要なファイルをすべて自動的にロードさせたい場合は、ファイルまたは .mi ファイルを含むディレクトリを環境変数の中で提示してください。ファイルを 1 つだけロードするには、以下のように MI_CUSTOM_SHADER_PATH を設定します。
setenv MI_CUSTOM_SHADER_PATH /usr/local//autodesk/Maya2013/mentalray/shaders/include/base.mi
set MI_CUSTOM_SHADER_PATH=C:/Program Files/Autodesk/Maya2013/mentalray/shaders/include/base.mi
ディレクトリ内のファイルをすべて解析するには、以下を使用します(ファイル ダイアログは表示されません)。
MI_CUSTOM_SHADER_PATH の既定値は、Maya2013/mentalray/include です。
Maya.env を変更すると、パスに独自のディレクトリを追加できます。たとえば、Maya.env に以下の行を加えると、パスに C:¥myshader¥include が加わります。
MI_CUSTOM_SHADER_PATH = C:¥myshader¥include
シェーダが既定でロードされるようにするには、ディレクトリをパスに追加するか、またはファイルをパスに配置します。
mental ray プラグインがロードされるあいだに base.mi、contour.mi、physics.mi が解析され、.mi ファイルで宣言した各シェーダのノードが作成されます。作成されるノードについては、スクリプト エディタ(Script Editor)をご覧ください。
シェーダと同様です。.mi ファイルが MI_CUSTOM_SHADER_PATH にある場合、スクリプト エディタ(Script Editor)にシェーダの名前が表示されるはずです。たとえば、スクリプト エディタ(Script Editor)には以下の 4 行があります(Var miFactoryVerbosity オプションが 4 以上に設定されている場合)。(myshader1 および myshader2 は myshader.mi で宣言されています)。
// generating nodes ... // parsing C:/myshader/include/myshader.mi // myshader1 // myshader2
これは mental ray for Maya にシェーダ ライブラリ バイナリの場所を通知する変数です。
ファイルを 1 つだけロードするには、MI_LIBRARY_PATH を次のように設定します。
setenv MI_LIBRARY_PATH /usr/local//autodesk/Maya2013/shaders/base.so
set MI_LIBRARY_PATH=C:/Program Files/Autodesk/Maya2013/mentalray/shaders/base.dll
ディレクトリ内のファイルをすべて解析するには、以下を使用します(ファイル ダイアログは表示されません)。
Maya.env を変更すると、パスに独自のディレクトリを追加できます。たとえば、Maya.env に次の行を追加すると、パスに C:¥myshader¥lib が追加されます。