URP は以下のプロパティを使用して、ゲームオブジェクトへのリフレクションプローブの寄与を決定します。
ノート:間接ドローコールを実行する場合、Unity はディファードおよびフォワードレンダリングパスのリフレクションプローブをサポートしません。Unity はフォワード+ レンダリングパスでこれらをサポートします。
各リフレクションプローブには、ボックスボリュームがあります。リフレクションプローブは、ボックスボリューム内にあるゲームオブジェクトの部分にのみ影響します。オブジェクトのピクセルがリフレクションプローブボリュームの外にある場合、Unity はスカイボックスリフレクションを使用します。
URP では、Unity は個々のピクセルに対する各プローブの影響を、プローブボリュームの境界に対する相対的なピクセルの位置に応じて評価します。
この動作は、オブジェクト全体に対するプローブの影響を評価するビルトインレンダーパイプラインとは異なります。
各リフレクションプローブに Blend Distance プロパティがあります。このプロパティは、リフレクションボックスボリュームの面からボックスボリュームの中心までの距離です。
Unity は、Blend Distance プロパティを使用して、リフレクションプローブの影響を決定します。オブジェクトのピクセルがリフレクションプローブボリュームの面上にある場合、そのピクセルはプローブから 0% のリフレクションを取得します。ピクセルがリフレクションプローブボリューム内にあり、各面からの距離が Blend Distance 値を超えている場合、ピクセルは 100% のリフレクションを取得します。
Blend Distance 値がリフレクションプローブボリュームの面間の距離の半分を超えている場合、リフレクションプローブはボリューム内のいずれのピクセルにも 100% の影響を与えることができません。
1 つのゲームオブジェクトが複数のリフレクションプローブボリューム内にある場合、最大 2 つのプローブの影響を受ける可能性があります。Unity は、以下の基準に基づいて、ゲームオブジェクトに影響するプローブを選択します。
リフレクションプローブの Importance プロパティ。Importance 値が大きい 2 つのプローブを選択し、他のプローブを無視します。
Importance 値が同じである場合、ボックスボリュームが最小のプローブを選択します。
Importance 値とボックスボリュームが同じである場合、ゲームオブジェクトの表面領域がより大きい 2 つのリフレクションプローブボリュームを特定し、これらのボリュームのプローブを選択します。
2 つのリフレクションプローブがゲームオブジェクトに影響する場合、各ピクセルに対し、プローブボックスボリュームの面からこのピクセルまでの距離と、Blend Distance プロパティの値に応じて各プローブのウェイトを計算します。
ピクセルが両方のボックスボリュームの面に比較的近く、両方のプローブのウェイトの合計が 1 未満の場合、残りのウェイトを _GlossyEnvironmentCubeMap に割り当てます。このキューブマップには、Lighting ウィンドウの Environment Lighting > Source で設定されたライティングソースからのリフレクションが含まれます。ほとんどの場合、このソースはスカイボックスです。
ピクセルが両方のボックスボリューム内にあり、両方のボリュームの面から Blend Distance の値よりも遠い場合は、以下のように処理します。
リフレクションプローブの Importance プロパティが同じである場合、プローブからのリフレクションを等しいウェイトでブレンドします。
いずれかのプローブの Importance プロパティが大きい場合、そのプローブからのリフレクションのみ適用します。