Interactive シェーダのカスタム プリセットを作成する

注: 3ds Max 2018.4 Update において、Stingray 物理ベース シェーダの名前が Interactive に変更されました。

同じシェーダ グラフを繰り返し作成してプロジェクトの速度が低下することを防ぐために、プリセット シェーダ グラフを作成して保存し、後で新しい Interactive シェーダを作成するときにこのプリセットを再使用することができます。

  1. Interactive シェーダ ノードを作成します。
  2. DirectX マテリアルの[Interactive](Interactive)ロールアウトの[プリセット マテリアル](Preset Material)リストで、[カスタム](Custom)を選択します。

    この時点で、親マテリアル内(Parent Material)フィールドは空です。

  3. [DirectX シェーダ](DirectX Shader)ロールアウトで[ShaderFX を開く](Open ShaderFX)をクリックし、グラフを作成します。
  4. (オプション)ShaderFX エディタで[標準ベース](Standard Base)ノードを選択します。[プロパティ](Properties)で、パスおよびリソース名を指定します(たとえば、[親マテリアル](Parent Material)アトリビュートで /content/materials/my_interactive_material を指定します)。これで、Interactive に書き出すときに、シェーダ グラフは /content/materials/my_interactive_material にある親グラフを指すようになります。このシェーダが Max Interactive に読み込まれる場合、Interactive は親グラフを再作成しません。ただし、3ds Max では ShaderFX エディタのグラフを Max Interactive エンジンの親グラフと同じにする、つまり自分のパス上に設定する必要があります。
  5. ShaderFX の[ファイル](File)メニューで、[ファイル](File) > [グラフを書き出し](Export Graph)を選択します。
  6. 次のいずれかに SFX ファイルを保存します。

    • プリセットを現在のプロジェクトのみで使用できるようにするには、プロジェクト フォルダの renderData¥shaders フォルダに保存します。
    • プリセットをすべてのプロジェクトでグローバルに使用できるようにするには、¥Documents¥3dsMax¥ShaderFX¥Scenes¥StingrayPBS に保存します。
  7. (オプション)ゲームエンジンに FBX ファイルを読み込むときに簡単に識別できるように、シェーダ ノードの名前を変更します。Interactive のメニューを使用して Max Interactive に書き出す場合は、[Interactive](Interactive)ロールアウトの[エンジン リソース](Engine Resource)アトリビュートにマテリアルの名前を入力し、これを Max Interactive でマテリアル名として使用することもできます。
  8. ここで 3ds Max を再起動して新しい Interactive PBS ノードを作成すると、[親マテリアル](Parent Material)ドロップダウン リストにプリセットが表示されます。同じシェーダ グラフを再利用するには、プリセットを選択します。アトリビュートだけを変更して、シェーダ グラフ自体を変更しない限り、プリセットを使用し続けることができます。

カスタム プリセットの適用

親マテリアルと子マテリアル

シェーダ グラフを含むマテリアルは親マテリアルといいます。

親マテリアルに基づいて子マテリアルを作成できます。子マテリアルは親マテリアルからシェーダ グラフを継承するため、マテリアルのアトリビュートも継承します。

子マテリアルは親マテリアルのアトリビュートを変更することができます(色の値、テクスチャ マップなど)。一般に、これらは Interactive PBS アトリビュート エディタに表示されるアトリビュートです。ただし、子マテリアルは親マテリアルのシェーダ グラフを変更できません。

シーンにサッカー選手のチームがある場合は、全選手の T シャツをシェーディングする 1 つのシェーダ グラフを作成することができます。

プリセット シェーダ グラフを含む親マテリアルを 1 つ作成し、親に基づく 10 個の子マテリアルを作成します。各子マテリアルのアトリビュート エディタは、選手の名前と背番号を表す異なるテクスチャに接続できます。10 個の子マテリアルにシェーダ グラフが接続されていないため、計算は非常に高速になり、パフォーマンスへの影響が小さくなります。

既存のシェーダ グラフを使用してカスタム プリセットを作成する

  1. [プリセット マテリアル](Preset Material)リストから、作成の開始元となるシェーダ グラフがあるプリセットを選択します。
  2. [固有にする](Make Unique)をクリックします。Interactive シェーダ ノードは以前に選択したプリセットを指していません。ただし、[ShaderFX を開く](Open ShaderFX)をクリックすると、シェーダ グラフは維持されています。
  1. Interactive PBS シェーダのアトリビュート エディタ(Attribute Editor)で、プリセット マテリアル(Preset Material)ドロップダウン リストから編集するプリセットを選択します。
  2. ShaderFX エディタ ウィンドウを開くには [ShaderFX を開く](Open ShaderFX)をクリックします。ShaderFX エディタ内のメッセージは、このグラフがプリセット グラフから(この場合はカスタム プリセットから)継承されていることを示します。
  3. グラフを編集し、[ファイル](File) > [グラフを書き出し](Export Graph)を選択し、既存のファイル名でプリセットを保存して、旧バージョンを置き換えます。