URP のスクリーンスペースアンビエントオクルージョン (SSAO) レンダラー機能のプロパティを使用して、プロジェクトのグラフィックスとパフォーマンスのニーズに合わせた最適な設定を行うことができます。
このセクションでは、SSAO Renderer Feature のプロパティについて説明します。
このプロパティは、SSAO 効果で使用するノイズのタイプを定義します。
利用可能なオプション:
パフォーマンスへの影響: 僅少。
このプロパティは、暗くする効果の強度を定義します。
パフォーマンスへの影響: 僅少。
アンビエントオクルージョンの値を計算する際、SSAO 効果は、現在のピクセルからこの半径内にある法線テクスチャのサンプルを取得します。
パフォーマンスへの影響: High。
Radius の値を下げるとパフォーマンスが向上します。これは、SSAO Renderer Feature がソースピクセルに近いピクセルをサンプリングするようになり、キャッシュの効率が向上するためです。
カメラから遠いオブジェクトより、カメラに近いオブジェクトの方がアンビエントオクルージョンパスの計算に時間がかかります。これは、Radius プロパティがオブジェクトに応じてスケールされるためです。
SSAO は、この距離よりもカメラから離れたオブジェクトには適用されません。
値を低くすると、オブジェクトが遠くに多数あるシーンでパフォーマンスが向上します。オブジェクト数の少ない小規模なシーンでは、パフォーマンス向上効果は少なくなります。
パフォーマンスへの影響: アプリケーションによって異なる。
このプロパティは直接光に露出された領域でエフェクトがどの程度見えるかを定義します。
以下の画像は、影の中にあるかどうかに応じて、Direct Lighting Strength の値が SSAO 効果にどのように影響するかを示しています。
A. ライトの当たる領域の SSAO 効果に、Direct Lighting Strength が与える影響を示しています。
B. 1 つ以上の影が覆う領域の SSAO 効果に、Direct Lighting Strength が与える影響を示しています。
パフォーマンスへの影響: 僅少。
法線ベクトル値のソースを選択します。SSAO Renderer Feature は、サーフェス上の各点がアンビエントライトにどの程度露出しているかを計算するために法線ベクトルを使用します。
利用可能なオプション:
DepthNormals パスによって生成された法線テクスチャを使用します。このオプションにより、Unity はより正確な法線テクスチャを使用できます。DepthNormals パスを使用しません。代わりに SSAO は、深度テクスチャを使用して法線ベクトルを再構築します。このオプションは、カスタムシェーダーで DepthNormals パスブロックの使用を避けたい場合にのみ使用してください。このオプションを選択すると、Normal Quality プロパティが有効になります。パフォーマンスへの影響: アプリケーションによって異なる。
Depth Normals オプションと Depth オプションを切り替えると、パフォーマンスが変動する可能性があります。これは、ターゲットプラットフォームおよびアプリケーションによって異なります。多くのアプリケーションでは、パフォーマンスの違いはわずかです。ほとんどの場合、Depth Normals の方が優れた外観を生成します。
Source プロパティの詳細については、実装の詳細 セクションを参照してください。
このプロパティは、Source プロパティで Depth オプションを選択するとアクティブになります。
法線ベクトルの品質を上げるほど、SSAO エフェクトは滑らかになります。
利用可能なオプション:
パフォーマンスへの影響: Medium。
シナリオによっては、Depth オプションでも Depth Normals オプションと同等の結果が生成されることがあります。ただし、特定のケースでは、Depth Normals オプションによって品質が大幅に向上します。以下の画像は、そのような場合の例を示しています。
詳細については、実装の詳細 セクションを参照してください。
このチェックボックスをオンにすると、Ambient Occlusion エフェクトを計算するパスの解像度が 2 分の 1 に減少します。
アンビエントオクルージョンパスの解像度を 2 分の 1 に削減すると、処理するピクセルカウントが 4 分の 1 に減少します。これにより、GPU の負荷が大幅に軽減されますが、エフェクトの詳細度は低くなります。
パフォーマンスへの影響: 非常に高い。
After Opaque を有効にすると、 SSAO 効果の計算と適用は、不透明なオブジェクトのレンダーパスの後に行われます。法線ベクトル値の Source を Depth に設定しているときに有効にすると、SSAO の計算に深度プリパスが実行されず、既存の深度値が使用されるため、パフォーマンスが向上します。ただし、これが原因で、ベイクしたオクルージョンとリアルタイムオクルージョンが反映される領域が暗くなり過ぎることがあります。
After Opaque を有効にすると、タイルベースのレンダリングを使用するモバイルデバイスでのパフォーマンスも向上します。
パフォーマンスへの影響: Medium。
このプロパティは、SSAO 効果に適用するブラーの品質を定義します。ブラーの品質を高く設定すると、より滑らかで忠実度の高い効果が得られますが、より高い処理能力が必要になります。
利用可能なオプション:
パフォーマンスへの影響: 非常に高い。
SSAO Renderer Feature は、ピクセルごとに、指定された半径内でこの数のサンプルを取得し、アンビエントオクルージョン値を計算します。この値を大きくすると、より滑らかで精密な効果が得られますが、パフォーマンスが低下します。
利用可能なオプション:
パフォーマンスへの影響: High。
Sample Count 値を 4 から 8 に増やすと、GPU の計算負荷は 2 倍になります。