オプションで maya.rayrc ファイルを編集することもできます。
maya.rayrc ファイルは、Maya でカスタム ノードを作成しません。代わりに、環境変数の MI_CUSTOM_SHADER_PATH と MI_LIBRARY_PATH と一緒に使用する必要があります。シェーダをロードするを参照してください。
これは、起動時に Maya を経由しない統合された mental ray によって読み取られます。
このファイルは通常の .mi 構文に対応しており、検索パスなどの mental ray の内部設定をカスタマイズするために使用できます。このファイルに直接ロードされるカスタム シェーダ パッケージは、Maya では認識されません。したがって、ノード ファクトリのメカニズムを利用して、シェーダを Maya ノードとして表示し、mental ray に自動的にロードされるようにします。
mental ray for Maya は既定で、次の既定のインストール ディレクトリにあるシェーダ ライブラリを検索します。
...¥Autodesk¥Maya2013¥mentalray
.../files/Applications/Autodesk/maya2013/Maya.app/Contents/mentalray
.../files/usr/autodesk/maya2013/mentalray
所定のシェーダ パッケージをレンダリング mental ray にプリロードする必要がある場合、これらを maya.rayrc に追加できます。
maya.rayrc を編集したら Maya の再起動が必要になります。または、スクリプト エディタで以下を入力します(詳細については『Mayatomr MEL』マニュアルを参照)。
ここでは、宣言ファイルが myshader.mi、シェーダ ファイルが myshader.dll/so であると仮定します。
link "SHADER_FILE_DIRECTORY/myshader.{DSO}" $include "MI_FILE_DIRECTORY/myshader.mi"
# define some useful registry variables registry "{MAYABASE}" value "C:/Program Files/Autodesk/Maya2013/mentalray" end registry registry "{SYSTEM}" value "windows" end registry registry "{DSO}" value "dll" end registry # adjust mental ray library search path to look for # shader binaries in my local directory first registry "{_MI_REG_LIBRARY}" value "C:/myshader/Release;{MAYABASE}/lib" end registry # execute expensive commands upon rendering only registry "{_MI_MAYA_STARTUP}" value "mental ray startup upon first render" # force some standard shaders into mental ray hidden to Maya # (not using explicit directory path here when using network rendering) link “myshader.{DSO}” # force the declaration of my shaders into mental ray, in case # it was not loaded with mental ray for Maya Node Factory mi "C:/myshader/include/myshader.mi" echo "mental ray for Maya - custom startup done" end registry