URP のディファードレンダリングパスのレンダーパス
ディファードレンダリングパスの概要
ユニバーサルレンダーパイプライン (URP) のディファードレンダリングパスは、最初に G バッファを作成します。G バッファは、シーンに関する情報を格納するテクスチャのセットです。その後、その情報を使用してすべてのゲームオブジェクトを一度にライティングします。
Terrain (地形) のブレンディングの精度
ディファード+ では、Unity が Terrain レイヤーを組み合わせる方法によって、地形の外観が異なる場合があります。
- フォワードレンダリングパスでは、Unity はマルチパスレンダリングを使用して一度に 4 つのレイヤーのライティングを計算し、4 つのレイヤーの各セットの後にアルファブレンドを行います。
- ディファードレンダリングパスでは、Unity はハードウェアブレンディングを使用して、G バッファパスで Terrain レイヤーを一度に 4 つ結合し、ディファードレンダリングパスの間に一度だけライティングを計算します。
ディファードレンダリングパスのアプローチによって、プロパティ値の結合の正確性が制限されます。例えば、ピクセル法線はアルファブレンド式だけでは正しく結合できません。Terrain レイヤーには粗い地形のディテールが含まれるものもあれば、細かいディテールが含まれるものもあるからです。法線を平均化または合計すると、精度が失われます。
フォワードレンダリングパスでレンダリングされた Terrain レイヤー
ディファードレンダリングパスでレンダリングされた Terrain レイヤー
デフォルトシェーダーの互換性
Unity は、以下のデフォルトシェーダーをフォワードレンダーパスを使用してレンダリングします。
- Complex Lit: ライティングモデルが複雑すぎて G バッファに収まりません。
- Baked Lit または Lit: リアルタイムのライティングは行われないため、Unity はデータを G バッファの Emissive/GI/Lighting フィールドにレンダリングします。これはディファードレンダーパスを使用するよりも高速です。
追加リソース
URP のディファードレンダリングパスのレンダーパス