Stingray 物理学に基づいたシェーダのカスタム プリセットを作成する

注: 以前は、Maya 2016 および Maya 2016 Extension 1 のプリセット マテリアル(Preset Material)ドロップダウン リストに親マテリアル(Parent Material)という名前が付いていて、親マテリアル(Parent Material)アトリビュートに エンジン マテリアル内(In Engine Material)という名前が付いていました。

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

  1. StingRay PBSノードを作成します。
  2. アトリビュート エディタ(Attribute Editor)で、プリセット マテリアル(Preset Material)ドロップダウン リストからカスタム(Custom)を選択します。

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

  3. アトリビュート エディタ(Attribute Editor)ShaderFX を開く(Open ShaderFX)をクリックして ShaderFX エディタ ウィンドウを開き、ShaderFX グラフを作成します。

    ShaderFX エディタを使用して Stingray 物理学に基づいたシェーダを構築する」も参照してください。

  4. (オプション)ShaderFX エディタで 標準ベース(Standard Base)ノードを選択します。StingrayPBS アトリビュート エディタ(Attribute Editor)で、パスおよびリソース名を指定します(たとえば、親マテリアル(Parent Material)アトリビュートで /content/materials/my_stingray_material を指定します)。これで、Stingray に書き出すときに、シェーダ グラフは/content/materials/my_stingray_material にある親グラフを指すようになりました。StingrayPBS が Stingray にインポートされている場合、Stingray は親グラフを再作成しません。ただし、Maya では ShaderFX エディタのグラフを Stingray ゲーム エンジンの親グラフと同じにする、つまり自分のパス上に設定する必要があります。詳細については、「Mayaと Stingray 間のシェーダ グラフの相互運用性」を参照してください。

  5. ShaderFX エディタのメニューからファイル > グラフを書き出し(File > Export Graph)を選択します。
  6. 次のいずれかに、.sfx ファイルを保存します。
    • プリセットを現在のプロジェクトのみで使用できるようにするには、プロジェクト フォルダの renderData¥shaders フォルダに保存します。
    • プリセットをすべてのプロジェクトにグローバルに使用できるようにするには、¥Documents¥maya¥ShaderFX¥Scenes¥StingrayPBS に保存します。
  7. (オプション)ゲームエンジンに .fbx ファイルを読み込むときに簡単に識別できるように、シェーダ ノードの名前を変更します。

    ファイル > Stingray に送信(File > Send to Stingray)を使用して Stingray に書き出す場合は、StingrayPBS アトリビュート エディタ(Attribute Editor)エンジン リソース(Engine Resource)アトリビュートにマテリアルの名前を入力し、これを Stingray でマテリアル名として使用することもできます。

  8. ここで Maya を再起動して新しい Stingray PBS ノードを作成すると、親マテリアル(Parent Material)ドロップダウン リストにプリセットが表示されます。

    同じシェーダ グラフを再利用するには、プリセットを選択します。プリセットは、アトリビュート(Stingray PBS のアトリビュート エディタ(Attribute Editor)で表示できるアトリビュート)のみを変更しシェーダ グラフを変更しない限り使用し続けることができます。

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

Maya 2016 Extension 1 および 2 の場合:

  1. プリセット マテリアル(Preset Material)ドロップダウン リストから、作成の開始元となるシェーダ グラフがあるプリセットを選択します。

  2. Stingray PBS アトリビュート エディタ(Attribute Editor)固有にする(Make Unique)をクリックします。Stingray PBS ノードは以前に選択したプリセットを指していません。ただし、その親のシェーダ グラフは ShaderFX を開く(Open ShaderFX)をクリックすると維持されます。

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

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

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

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

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

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

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

既存のカスタム プリセットを編集する

これは Maya 2016 および Maya 2016 Extension 1 に適用されます。

  1. StingrayPBS シェーダの アトリビュート エディタ(Attribute Editor)で、親マテリアル(Parent Material)ドロップダウン リストから編集するプリセットを選択します。

  2. ShaderFX エディタ ウィンドウを開くには ShaderFX を開く(Open ShaderFX)をクリックします。
  3. グラフ内の任意のノードをクリックするとメッセージが表示され、保存されているプリセットのシェーダ グラフを編集しているため停止するかどうかを警告されます。

    いいえ(No)をクリックしてグラフの編集を開始します。

  4. ファイル > グラフを書き出し(File > Export Graph)を選択し、既存のファイル名でプリセットを保存して旧バージョンを置き換えます。

これは Maya 2016 Extension 2 に適用されます。

  1. StingrayPBS シェーダのアトリビュート エディタ(Attribute Editor)で、プリセット マテリアル(Preset Material)ドロップダウン リストから編集するプリセットを選択します。
  2. ShaderFX エディタ ウィンドウを開くには ShaderFX を開く(Open ShaderFX)をクリックします。

    ShaderFX エディタ内のメッセージは、このグラフがプリセット グラフから(この場合は組み込みのグラフ)から継承されていることを示します。

  3. グラフを編集し、ファイル > グラフを書き出し(File > Export Graph)を選択し、既存のファイル名でプリセットを保存して旧バージョンを置き換えます。

関連トピック