Version: Unity 6.0 (6000.0)
言語 : 日本語
ビルトインレンダーパイプラインの影
ビルトインレンダーパイプラインでのアンビエントオクルージョンの追加

ビルトインレンダーパイプラインでの影の解像度の設定

シャドウマップの解像度を計算するために、Unity は以下を行います。

  1. ライトが照射するスクリーンビューの範囲を決定します。ディレクショナルライトは、スクリーン全体を照らすことができますが、スポットライトとポイントライトが照射できる領域は、ライトの広がりの形状 (ポイントライトは球形、スポットライトは円錐形) をスクリーン上に投影したものになります。投影された形状は、スクリーン上でピクセル単位の幅と高ささが決められます。この 2 つの値のうち大きい方が、ライトのピクセルサイズと呼ばれます。

  2. 影の品質の乗数を決定します。この乗数として、Quality Settings ウィンドウで設定される Shadow Resolution 設定が使用されます。品質設定は以下の値に対応します。
    • Very High (非常に高い):1.0
    • High (高い):0.5
    • 中級:0.25
    • Low (低い):0.125
  3. 以下の計算を実行し、結果を最大サイズに固定します。

ライトタイプ 計算式 最大解像度 (ピクセル)
Directional NextPowerOfTwo (ピクセルサイズ * 影の品質乗数 * 3.8) Shadow Resolution が Very High の場合、または GPU に 512MB 以上の RAM がある場合は4096 x 4096、それ以外の場合は 2048 x 2048。
Spot Lights NextPowerOfTwo (ピクセルサイズ * 影の品質乗数 * 2.0) GPU に 512MB 以上の RAM がある場合は 2048 x 2048、それ以外の場合は 1024 x 1024。
Point Lights NextPowerOfTwo (ピクセルサイズ * 影の品質乗数 * 1.0) GPU に 512MB 以上の RAM がある場合は 1024 x 1024、それ以外の場合は 512 x 512。

シャドウマップ解像度のオーバーライド

ビルトインレンダーパイプラインでは、Light.shadowCustomResolution プロパティを 0 より大きい値に設定することで、ライトのシャドウマップの解像度を設定できます。この値が 0 より大きい場合、Unity はすべてのライトタイプに対して以下の計算を行います。

NextPowerOfTwo (shadowCustomResolution)

次に、上の表が示すライトのタイプとハードウェアに基づいて、最大の解像度を固定します。

追加リソース

ビルトインレンダーパイプラインの影
ビルトインレンダーパイプラインでのアンビエントオクルージョンの追加