次の方法で、カスタム シェーダ ライブラリをインポートできます。
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 環境変数に追加することも必要です。
この変数は 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/Maya2009/include/base.mi
set MI_CUSTOM_SHADER_PATH=C:/Program Files/Autodesk/Maya2009/mentalray/include/base.mi
ディレクトリ内のファイルをすべて解析するには、以下を使用します(ファイル ダイアログは表示されません)。
MI_CUSTOM_SHADER_PATH のデフォルト値は、Maya2009/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 ファイルで宣言した各シェーダのノードが作成されます。作成されるノードについては、スクリプト エディタをご覧ください。
シェーダと同様です。.mi ファイルが MI_CUSTOM_SHADER_PATH にある場合、スクリプト エディタ(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/Maya2009/lib/base.so
set MI_LIBRARY_PATH=C:/Program Files/Autodesk/Maya2009/mentalray/lib/base.dll
ディレクトリ内のファイルをすべて解析するには、以下を使用します(ファイル ダイアログは表示されません)。
Maya.env を変更すると、パスに独自のディレクトリを追加できます。たとえば、Maya.env に次の行を追加すると、パスに C:\myshader\lib が追加されます。