同じシェーダ グラフを繰り返し作成してゲーム速度が低下することを防ぐために、プリセット シェーダ グラフを作成して保存し、後で新しい Stingray シェーダを作成するときにこのプリセットを再使用することができます。
- Stingray シェーダ ノードを作成します。
- DirectX マテリアルの[Stingray](Stingray)ロールアウトの[プリセット マテリアル](Preset Material)リストで、[カスタム](Custom)を選択します。
この時点で、親マテリアル内(Parent Material)フィールドは空です。
- [DirectX シェーダ](DirectX Shader)ロールアウトで[ShaderFX を開く](Open ShaderFX)をクリックし、グラフを作成します。
- (オプション)ShaderFX エディタで[標準ベース](Standard Base)ノードを選択します。[プロパティ](Properties)で、パスおよびリソース名を指定します(たとえば、[親マテリアル](Parent Material)アトリビュートで /content/materials/my_stingray_material を指定します)。これで、Stingray に書き出すときに、シェーダ グラフは /content/materials/my_stingray_material にある親グラフを指すようになります。このシェーダが Stingray に読み込まれる場合、Stingray は親グラフを再作成しません。ただし、3ds Max では ShaderFX エディタのグラフを Stingray ゲーム エンジンの親グラフと同じにする、つまり自分のパス上に設定する必要があります。
- ShaderFX の[ファイル](File)メニューで、[ファイル](File) > [グラフを書き出し](Export Graph)を選択します。
-
次のいずれかに SFX ファイルを保存します。
- プリセットを現在のプロジェクトのみで使用できるようにするには、プロジェクト フォルダの renderData¥shaders フォルダに保存します。
- プリセットをすべてのプロジェクトでグローバルに使用できるようにするには、¥Documents¥3dsMax¥ShaderFX¥Scenes¥StingrayPBS に保存します。
- (オプション)ゲームエンジンに FBX ファイルを読み込むときに簡単に識別できるように、シェーダ ノードの名前を変更します。[ファイル](File) > [Stingray に送信](Send to Stingray)を使用して Stingray に書き出す場合は、[Stingray](Stingray)ロールアウトの[エンジン リソース](Engine Resource)アトリビュートにマテリアルの名前を入力し、これを Stingray でマテリアル名として使用することもできます。
- ここで 3ds Max を再起動して新しい Stingray PBS ノードを作成すると、[親マテリアル](Parent Material)ドロップダウン リストにプリセットが表示されます。同じシェーダ グラフを再利用するには、プリセットを選択します。アトリビュートだけを変更して、シェーダ グラフ自体を変更しない限り、プリセットを使用し続けることができます。
カスタム プリセットの適用
親マテリアルと子マテリアル
シェーダ グラフを含むマテリアルは親マテリアルといいます。
親マテリアルに基づいて子マテリアルを作成できます。子マテリアルは親マテリアルからシェーダ グラフを継承するため、マテリアルのアトリビュートも継承します。
子マテリアルは親マテリアルのアトリビュートを変更することができます(色の値、テクスチャ マップなど)。一般に、これらは Stingray PBS アトリビュート エディタに表示されるアトリビュートです。ただし、子マテリアルは親マテリアルのシェーダ グラフを変更できません。
シーンにサッカー選手のチームがある場合は、全選手の T シャツをシェーディングする 1 つのシェーダ グラフを作成することができます。
プリセット シェーダ グラフを含む親マテリアルを 1 つ作成し、親に基づく 10 個の子マテリアルを作成します。各子マテリアルのアトリビュート エディタは、選手の名前と背番号を表す異なるテクスチャに接続できます。10 個の子マテリアルにシェーダ グラフが接続されていないため、計算は非常に高速になり、パフォーマンスへの影響が小さくなります。
既存のシェーダ グラフを使用してカスタム プリセットを作成する
- [プリセット マテリアル](Preset Material)リストから、作成の開始元となるシェーダ グラフがあるプリセットを選択します。
- [固有にする](Make Unique)をクリックします。Stingray シェーダ ノードは以前に選択したプリセットを指していません。ただし、[ShaderFX を開く](Open ShaderFX)をクリックすると、シェーダ グラフは維持されています。
- StingrayPBS シェーダのアトリビュート エディタで、[プリセット マテリアル](Preset Material)ドロップダウン リストから編集するプリセットを選択します。
- [ShaderFX を開く](Open ShaderFX)をクリックして ShaderFX エディタ ウィンドウを開きます。ShaderFX エディタ内のメッセージは、このグラフがプリセット グラフ(この場合はカスタム プリセット)から継承されていることを示します。
- グラフを編集し、[ファイル](File) > [グラフを書き出し](Export Graph)を選択し、既存のファイル名でプリセットを保存して、旧バージョンを置き換えます。