シェーディング ネットワークを作成するときに、グラフをプリセットとして保存し、次に新しい Stingray PBS ノードを作成するときに再使用することができます。こうすると、同一のシェーダ グラフを繰り返し作成する必要がなくなるので、マテリアルの管理が困難になったり、ゲームのパフォーマンスが低下することがなくなります。
プリセット シェーダ グラフを含むマテリアルは、親マテリアルといいます。
親マテリアルに基づいて子マテリアルを作成できます。子マテリアルは親マテリアルからシェーダ グラフを継承するため、マテリアルのアトリビュートも継承します。
Maya から Stingray にマテリアルを書き出すときに、StingrayPBS ノードが既存の Stingray リソース(つまり、Stingray プロジェクト フォルダ内の .material)を指している場合、Stingray は新しい親マテリアルを作成しません。
この Stingray リソースを指定するには、Maya の StingrayPBS アトリビュート エディタ(Attribute Editor)にある親マテリアル(Parent Material)フィールドを設定します。
このフィールドを編集できるのは、次の操作を初めて実行する場合のみです。
こうすると、親マテリアル(Parent Material)パスを誤って変更することがなくなります。
このフィールドが空の場合、シェーダ グラフは親マテリアルであるとみなされます。このシェーダを Stingray に書き出すと、新しい親マテリアルが作成されます。
一方、パスおよびリソース名(/content/materials/my_stingray_material など)を指定して書き出しを行うと、シェーダ グラフは /content/materials/my_stingray_material にある親グラフを指します。このシェーダが Stingray に読み込まれている場合、Stingray は親グラフを再作成しません。ただし、Maya では ShaderFX エディタのグラフを Stingray ゲーム エンジンの親グラフと同じにする、つまり自分のパス上に設定する必要があります。
このフィールドにパスまたは名前を入力したにもかかわらず、親マテリアルが Stingray プロジェクト フォルダ内に存在しない場合は、作成されたグラフに基づいて新しい親マテリアルが作成されます。
Stingray で親グラフを作成し、ShaderFX エディタに読み込むこともできます。この操作を実行するには、ファイル > グラフを読み込み(File > Import Graph)を選択し、ファイル タイプ ドロップダウン リストから .material を選択します。
このグラフを Maya にプリセットとして保存するには、ファイル > グラフを書き出し(File > Export Graph)を選択し、それを .sfx として renderData¥shaders に保存するか(現在のプロジェクトで使用可能)、¥Documents¥maya¥ShaderFX¥Scenes¥StingrayPBS に保存します(グローバルに使用可能)。これで、StingrayPBS アトリビュート エディタ(Attribute Editor)のプリセット マテリアル(Preset Material)ドロップダウンでプリセットとして使用できるようになりました。