3ds Max と Max Interactive 間のシェーダ グラフの相互運用性

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

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

シェーディング ネットワークを作成するときに、グラフをプリセットとして保存し、次に新しい Interactive PBS (物理ベース シェーダ)ノードを作成するときに再使用することができます。これにより、同じシェーダ グラフを繰り返し作成する必要がなくなり、マテリアルの管理が容易になって、ゲームのパフォーマンスが向上します。

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

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

Interactive シェーダを 3ds Max Interactive に書き出して、既存の親マテリアルを再使用する

3ds Max から 3ds Max Interactive にマテリアルを書き出すときに、Interactive シェーダ ノードが既存の Interactive リソース(Interactive プロジェクト フォルダ内のマテリアル)を指している場合は、Max Interactive は新しいプリセット マテリアルを作成しません。

この Interactive リソースを指すようにするには、3ds Max で DirectX マテリアルの [Interactive](Interactive)ロールアウトにある[親マテリアル](Parent Material)フィールドを設定します。

このフィールドを編集できるのは、次の操作を初めて実行する場合のみです。

  1. [DirectX シェーダ](DirectX Shader)ロールアウトのリストで[Interactive](Interactive)を選択します。
  2. [Interactive](Interactive)ロールアウトの[プリセット マテリアル](Preset Material)リストで[カスタム](Custom)を選択するか、[固有にする](Make Unique)をクリックします(カスタム プリセットを作成します)。
  3. [DirectX シェーダ](DirectX Shader)ロールアウトで、[ShaderFX を開く](Open ShaderFX)をクリックして、[標準ベース](Standard Base)ノードを選択します。

こうすると、[親マテリアル](Parent Material)パスを誤って変更することがなくなります。

このフィールドが空の場合、シェーダ グラフは親マテリアルであるとみなされます。このシェーダを 3ds Max Interactive に書き出すと、新しい親マテリアルが作成されます。

一方、パスおよびリソース名(/content/materials/my_interactive_material など)を指定して書き出しを行うと、シェーダ グラフは /content/materials/my_interactive_materia にある親グラフを指します。シェーダを 3ds Max Interactive に読み込む場合、Max Interactive は親グラフを再作成しません。ただし、3ds Max では ShaderFX エディタのグラフを Max Interactive エンジンの親グラフと同じにする、つまり自分のパス上に設定する必要があります。

このフィールドにパスまたは名前を入力したにもかかわらず、親マテリアルが Max Interactive プロジェクト フォルダ内に存在しない場合は、作成されたグラフに基づいて新しい親マテリアルが作成されます。

Max Interactive からマテリアルを読み込んで、プリセットとして使用する

Max Interactive で親グラフを作成し、ShaderFX エディタに読み込むこともできます。この操作を実行するには、[ファイル](File) > [グラフを読み込み](Import Graph)を選択し、ファイル タイプ ドロップダウン リストから .material を選択します。

このグラフを 3ds Max にプリセットとして保存するには、[ファイル](File) > [グラフを書き出し](Export Graph)を選択し、それを .sfx として renderData¥shaders に保存するか(現在のプロジェクトで使用可能)、¥Documents¥3dsMax¥ShaderFX¥Scenes¥StingrayPBS に保存します(グローバルに使用可能)。 これで、[Interactive](Interactive)ロールアウトの[プリセット マテリアル](Preset Material)ドロップダウンでプリセットとして使用できるようになりました。