Version: Unity 6.0 (6000.0)
言語 : 日本語
ユニバーサルレンダーパイプライン (URP) での影の解像度の設定
URP でのスクリーンスペースアンビエントオクルージョン (SSAO)

URP でのスクリーンスペースシャドウの追加

スクリーンスペースシャドウ
サンプルシーンのスクリーンスペースシャドウ。

ユニバーサルレンダーパイプライン (URP) のレンダラーに Screen Space Shadows Renderer Feature を追加できます。これにより、URP は複数の シャドウカスケード テクスチャではなく、単一のレンダーテクスチャを使用してメインのディレクショナルライトから影を計算して描画します。

Screen Space Shadows Renderer Feature は影の見た目には影響しません。

プロジェクトで フォワードレンダラー を使用する場合、スクリーンスペースシャドウを使用すると、ユニバーサルレンダーパイプライン (URP) は複数のシャドウカスケードテクスチャにアクセスする必要がないため、レンダリングが高速になることがあります。

スクリーンスペースシャドウには以下の制限があります。

  • URP は深度テクスチャをサンプルできるように深度プリパスを追加します。これにより、タイルベースのレンダリングを使用するモバイルプラットフォームでパフォーマンスが低下する可能性があります。深度プリパスの詳細は、Depth Priming Mode を参照してください。
  • URP はスクリーンスペースシャドウテクスチャを作成し、より多くのメモリを使用します。

スクリーンスペースシャドウテクスチャ
前の画像のスクリーンスペースシャドウテクスチャ。

スクリーンスペースシャドウの有効化

プロジェクトにスクリーンスペースシャドウを追加するには、Screen Space Shadows Renderer Feature を追加します。Renderer Feature の追加 を参照してください。

URP は、透明なオブジェクトのスクリーンスペースシャドウを計算したり描画したりしません。透明なオブジェクトにはシャドウマップを使用します。

スクリーンスペースシャドウの確認

Frame Debugger を使用して、影を描画するレンダーパスを確認します。以下のレンダーパスを確認してください。

  • ScreenSpaceShadows、スクリーンスペースシャドウテクスチャを作成します。
  • MainLightShadow、シャドウマップテクスチャを作成します。

DrawOpaqueObjects レンダーパスを確認し、URP が各オブジェクトに影を描画するために使用する影のテクスチャを調べます。

スクリーンスペースシャドウテクスチャを使用した影
スクリーンスペースシャドウが有効な場合の Frame Debugger。DrawOpaqueObjects レンダーパス内のオブジェクトは、_ScreenSpaceShadowmapTexture を使用します。

シャドウマップを使用した影
スクリーンスペースシャドウが無効な場合の Frame Debugger。DrawOpaqueObjects レンダーパス内のオブジェクトは、MainLightShadow レンダーパスのシャドウマップテクスチャである TempBuffer 398 2048x1024 および TempBuffer 399 2048x2048 を使用します。

ユニバーサルレンダーパイプライン (URP) での影の解像度の設定
URP でのスクリーンスペースアンビエントオクルージョン (SSAO)