シェーダをロードする

次の方法で、カスタム シェーダ ライブラリを読み込めます。

これらの方法については、以下で詳細に説明します。

カスタム シェーダ ライブラリを読み込むには

  1. 宣言ファイルを mental ray for Maya インストール先の shaders/include ディレクトリにコピーします。
  2. ライブラリ ファイルを mental ray for Maya インストール先の shaders ディレクトリにコピーします。

    mental ray for Maya は、カスタム シェーダ ライブラリをロードし、レンダーすることもできます。また、include ディレクトリに宣言ファイルを配置すると、mental ray for Maya を使用してファイルを構文解析し、ライブラリ内で宣言されたシェーダに対応する新規の Maya ノード タイプを作成します。

mental ray シェーダ マネージャ(Shader Manager)の操作

シェーダ マネージャ(Shader Manager)では、Maya セッション時に mental ray シェーダ ライブリのロード、アンロード、操作を行うことができます(最初のシャットダウン、環境変数 MI_CUSTOM_SHADER_PATH の設定は不要です)。

mental ray シェーダ宣言を収納した .mi ライブラリ ファイルのリストから選択することができます。.mi ライブラリ ファイルに収納されたシェーダは、Maya と mental ray for Maya ベース シェーダ ノードと同様に、自動的にハイパーシェード(Hypershade)に表示されます。この場合、mental ray for Maya ベース シェーダは、ハイパーシェード(Hypershade)レンダー ノードの作成(Create Render Node)パネルに完全に統合されています

(ハイパーシェード(Hypershade)でカスタム シェーダを表示するために、環境変数 MAYA_MRFM_SHOW_CUSTOM_SHADERS の設定は不要です)。

カスタム mental ray シェーダをロードまたはアンロードするには

  1. ウィンドウ > レンダリング エディタ > mental ray > シェーダ マネージャ(Window > Rendering Editors > mental ray > Shader Manager)を選択します。

    シェーダ マネージャ(Shader Manager)が開き、ロードされた宣言ファイルが表示されます。

  2. 宣言ファイルをクリックしてロードまたはアンロード、ファイルの自動ロード、またはファイルに関する情報取得を行います。mental ray シェーダ マネージャ(Shader Manager)ウィンドウのボタンとオプションの詳細については、ウィンドウ > レンダリング エディタ > mental ray > シェーダ マネージャ(Window > Rendering Editors > mental ray > Shader Manager)を参照してください。

環境変数 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 ファイルを編集するを参照してください。

MI_CUSTOM_SHADER_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 を設定します。

  • Linux

    setenv MI_CUSTOM_SHADER_PATH /usr/local//autodesk/Maya2015/mentalray/shaders/include/base.mi

  • Windows

    set MI_CUSTOM_SHADER_PATH=C:/Program Files/Autodesk/Maya2015/mentalray/shaders/include/base.mi

ディレクトリ内のファイルをすべて解析するには、以下を使用します(ファイル ダイアログは表示されません)。

  • Linux

    setenv MI_CUSTOM_SHADER_PATH /usr/local/mi/rayinc

  • Windows

    set MI_CUSTOM_SHADER_PATH=c:/usr/local/mi/rayinc

MI_CUSTOM_SHADER_PATH の既定値は、Maya2015/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

MI_LIBRARY_PATH

これは mental ray for Maya にシェーダ ライブラリ バイナリの場所を通知する変数です。

ファイルを 1 つだけロードするには、MI_LIBRARY_PATH を次のように設定します。

  • Linux

    setenv MI_LIBRARY_PATH /usr/local//autodesk/Maya2015/shaders/base.so

  • Windows

    set MI_LIBRARY_PATH=C:/Program Files/Autodesk/Maya2015/mentalray/shaders/base.dll

ディレクトリ内のファイルをすべて解析するには、以下を使用します(ファイル ダイアログは表示されません)。

  • Linux

    setenv MI_CUSTOM_SHADER_PATH /usr/local/mi/raylib

  • Windows

    set MI_CUSTOM_SHADER_PATH=c:/usr/local/mi/raylib

Maya.env を変更すると、パスに独自のディレクトリを追加できます。たとえば、Maya.env に次の行を追加すると、パスに C:¥myshader¥lib が追加されます。

MI_LIBRARY_PATH = C:¥myshader¥lib

バイナリが既定でロードされるようにするには、ディレクトリをパスに追加するか、またはファイルをパスに配置します。