Version: Unity 6.0 (6000.0)
言語 : 日本語
URP のシェーダー
URP での事前ビルドシェーダーの選択

URP のシェーディングモデル

シェーディングモデルには、サーフェスの向き、ビューアーの方向、ライティングなどの要素に応じてマテリアルの色を変化させる方法が定義されています。どのシェーディングモデルを選択するかは、アプリケーションの演出やパフォーマンスバジェットに応じて決まります。Universal Render Pipeline (ユニバーサルレンダーパイプライン、URP) には、以下のシェーディングモデルを利用するシェーダーがあります。

物理ベースシェーディング

物理ベースシェーディング (PBS) はサーフェスから反射される光の量を物理演算の原則に基づいて計算することで、現実世界で見えるとおりにオブジェクトをシミュレートします。これにより、写実的なオブジェクトやサーフェスを作成できます。

PBS は以下の 2 つの原則に従います。

省エネルギー性 - サーフェスが総入射光を超える量の光を反射することはありません。唯一の例外は、オブジェクトが発光するときです。例えば、ネオンサインです。マイクロジオメトリ - サーフェスには微視的レベルのジオメトリが含まれます。一部のオブジェクトには滑らかなマイクロジオメトリが使用され、鏡のような外観になります。粗いマイクロジオメトリが使用されたオブジェクトは、よりくすんで見えます。URP では、レンダリングされたオブジェクトのサーフェスのスムースネスレベルを模倣することができます。

レンダリングされたオブジェクトの表面に光が当たると、一部は反射して一部は屈折します。反射光は 鏡面反射 と呼ばれます。これは、カメラの向きや、光がサーフェスに当たる場所 (入射角 ともいう) によって変わります。このシェーディングモデルでは、スペキュラーハイライトの形状は GGX 関数 を使用して近似されます。

メタルオブジェクトの場合、光は表面に吸収されて変化します。メタリックではないオブジェクトは 誘電体 オブジェクトとも呼ばれ、サーフェスがライトの一部を反射します。

光の減衰は光の強度によってのみ影響を受けます。そのため、減衰を制御するために光の範囲を拡大する必要はありません。

物理ベースシェーディングは以下の URP シェーダーで使用されます。

ノート: このシェーディングモデルは、ローエンドのモバイルハードウェアには適していません。このハードウェアをターゲットにしている場合は、シンプルシェーディング モデルを利用するシェーダーを使用してください。

物理ベースレンダリングの詳細は、こちらの Marmoset の Joe Wilson 氏によるウォークスルー を参照してください。

シンプルシェーディング

このシェーディングモデルはスタイリッシュなビジュアルや性能が劣るプラットフォームで実行されるゲームに適しています。このシェーディングモデルを使用すると、マテリアルが真に写実的ではなくなります。このシェーダーは省エネルギー性の原則を満たしません。このシェーディングモデルは Blinn-Phong モデルに基づいています。

このシンプルシェーディングモデルでは、マテリアルはディフューズライトとスペキュラーライトを反射し、両者の間に相関関係はありません。マテリアルから反射されたディフューズライトとスペキュラーライトの量は、マテリアルで選択したプロパティによって異なるため、総反射光が総入射光を上回る場合があります。鏡面反射はカメラの向きによってのみ変わります。

光の減衰は光の強度によってのみ影響を受けます。

シンプルシェーディングは以下の URP シェーダーで使用されています。

Baked Lit シェーディング

Baked Lit シェーディングモデルでは、リアルタイムライティングを利用しません。マテリアルは ベイクしたライティングライトマップ または ライトプローブ から取得します。これにより、わずかなパフォーマンスコストでシーンに深度を加えることができます。このシェーディングモデルを利用するゲームは、性能が劣るプラットフォームでも実行できます。

Baked Lit シェーディングモデルを使用するシェーダーは URP の Baked Lit シェーダーのみです。

ライティングなしのシェーダー

URP には Unlit タイプのシェーダーがいくつかあります。Unlit タイプのシェーダーを持つマテリアルは、リアルタイムライティングやベイクしたライティングの影響を受けません。Unlit シェーダーを使用して、シーン内のオブジェクトに固有の外観を作ることができます。Unlit シェーダーのコンパイルは、Lit シェーダーよりもかなり高速です。

以下の URP シェーダーにはライティング機能がありません。

URP のシェーダー
URP での事前ビルドシェーダーの選択