シェーディング

このセクションのトピックでは、マテリアルをデザインしてモデルに割り当てることによりゲーム内で 3D オブジェクトのサーフェスをレンダリングする方法について、それをどのようにコントロールするのかを説明します。

マテリアル、シェーダ、テクスチャ、および 3D アセットについて

モデリングされた 3D メッシュを含むアセットには通常、これらのメッシュのレンダリング方法や「シェーディング方法」に関する情報もいくつか格納されています。ツールやアプリケーションごとに、使用される用語は異なることがありますが、原則はほぼ同じです。

各メッシュの面には、一般に、1 つまたは複数の「マテリアル」が割り当てられています。これらのマテリアルはそれぞれ、サーフェスの表示方法という特定の側面を定義する設定が集まったものです。設定には、サーフェスのカラー、サーフェスの滑らかさや粗さなどが含まれます。したがって、あるマテリアルではモデルの材質が木のように見え、別のマテリアルではモデル材質が光沢のある赤い金属のように見えることがあります。

マテリアルには、サーフェスの特性を変化させるために「テクスチャ」が使用されることもあります。テクスチャは本来、レンダリング時に 3D モデルの周りにラップされる 2 次元のカラー イメージです。2D カラー イメージを 3D モデルの面に適用する方法は、メッシュに付属する「UV セット」で定義されます。UV セットは、3D メッシュの頂点と 2 次元イメージ空間(UV 空間)の間のマッピングです。

マテリアルに記録されている設定は、シェーダで解釈されます。シェーダは、サーフェスの最終的なレンダリングを実行して、画面上に描画する、グラフィックス カード上で実行されるプログラムです。Stingray の各マテリアルには、設定可能な「シェーダ グラフ」が含まれています。シェーダ グラフは、マテリアルで定義された設定および Stingray レンダラーの機能に基づいて表示される最終結果の計算方法をシェーダに指示する一連の手順です。マテリアルのシェーダ グラフを編集するには、Stingray またはモデリング ツール内のビジュアル プログラミング インタフェースでノードを接続します。

マテリアル デザインのワークフロー

モデリング ツール内でマテリアルを設定して Stingray に読み込んだり、Stingray 内でマテリアルをゼロから設定することができます。

アート デザイン ツールから読み込む

アーティストは Maya、Maya LT、または 3ds Max などの 3D デザイン ツール内でモデルのマテリアルおよび UV アンラッピングを設定しますが、この設定は通常、メッシュのデザインと協調しながら行います。テクスチャの作成は、Mudbox などの専用のサーフェス スカルプトおよびペイント ツール、または Photoshop などの 2D イメージ処理ツールで行うことができます。

作成したモデルが、デザイン ツールで希望表示どおりに表示されるようになったら、アーティストはモデルを .fbx に書き出して、新しい .unit リソースとして Stingray に読み込みます。読み込みプロセスでは、モデルで使用されるマテリアルごとに新しい .material リソースが作成され、これらのマテリアルで使用されるテクスチャごとに新しい .texture リソースが作成されます。デザイン ツール内のモデルで使用されるマテリアルが Stingray と互換性を維持している限り、モデルはデザイン ツールで開いた場合と同じように Stingray のレベル内に表示されます。

テクスチャとマテリアルが含まれたモデルを読み込む」も参照してください。

Stingray は、多様なライティング環境でリアルなシェーディング結果を実現することを目的とする、物理ベースのシェーダを使用します。このシェーダは Maya および 3ds Max でも利用することができ、DirectX ShaderFX システムに付属しています。マテリアルを読み込むときの結果を最適化するには、Maya または 3ds Max で Stingray ShaderFX マテリアルを使用します。「ShaderFX シェーダ グラフ」も参照してください。標準マテリアルを含むその他のタイプのマテリアルに、カラーおよびテクスチャの値が取り込まれることがあります。ただし、受信ライトと連携する仕組みに基づいて Stingray シェーダがサーフェスの外観を計算する方法に違いがあるため、Stingray では表示が若干異なることがあります。

読み込まれたマテリアルを微調整する

3D モデルと一緒に読み込まれたマテリアルは、プロジェクト内で独自のリソースで表されるため、アーティストが設定した値をオーバーライドする必要がある場合は Stingray 内でこれらのマテリアルを微調整することができます。

読み込まれたマテリアルが Stingray と互換性がない場合、Stingray では、標準の Stingray 物理ベースのマテリアル(既定のプレーンなグレーに設定)を使用して表されます。この場合は、カラーや粗さなど、マテリアルのすべての設定を Stingray 内で設定する必要があります。

子マテリアルを編集する」も参照してください。

Stingray でゼロから作成する

Stingray 内で新しいマテリアルをゼロから作成することもできます。

これらのマテリアル自体は、作成時に何も行いません。どのサーフェスのシェーディングにも使用されないためです。ただし、プロジェクト内の任意のマテリアルを、メッシュで公開された任意のマテリアル スロットに割り当てることができます。これを使用すると、既定のマテリアルの代わりに新しいマテリアルに切り替えて、読み込まれたモデル、Stingray のレベル内で作成された球や立方体などのプリミティブ オブジェクトをカスタマイズすることができます。

オブジェクトにマテリアルを割り当てる」も参照してください。