このページでは、Universal Render Pipeline (ユニバーサルレンダーパイプライン、URP) の旧バージョンからバージョン 10.1.x にアップグレードする方法を説明します。
バージョン 10.0.x 以降では、URP が _CameraNormalsTexture という法線テクスチャを生成できます。カスタムシェーダーでこのテクスチャにレンダリングするには、DepthNormals というパスを加えます。例については、Lit.shader での実装を参照してください。
URP 10.0.x には、スクリーンスペースアンビエントオクルージョン (SSAO) エフェクトが実装されています。
カスタムシェーダーで SSAO エフェクトを使用する場合は、SSAO に関連する以下のエンティティを考慮してください。
_SCREEN_SPACE_OCCLUSION キーワード。
Input.hlsl の InputData 構造体には、新しい宣言 float2 normalizedScreenSpaceUV が含まれています。
Lighting.hlsl の AmbientOcclusionFactor 構造体には、間接オクルージョンと直接オクルージョンを計算するための変数が含まれています。
struct AmbientOcclusionFactor
{
half indirectAmbientOcclusion;
half directAmbientOcclusion;
};
Lighting.hlsl には、SSAO テクスチャをサンプリングするための以下の関数が含まれています。
half SampleAmbientOcclusion(float2 normalizedScreenSpaceUV)
Lighting.hlsl には、以下の関数が含まれています。
AmbientOcclusionFactor GetScreenSpaceAmbientOcclusion(float2
normalizedScreenSpaceUV)
カスタムシェーダーで SSAO をサポートするには、DepthNormals パスと _SCREEN_SPACE_OCCLUSION キーワードをシェーダーに追加します。例については、Lit.shader を参照してください。
カスタムシェーダーがカスタムライティング関数を実装する場合は、GetScreenSpaceAmbientOcclusion(float2 normalizedScreenSpaceUV) 関数を使用してライティング計算の AmbientOcclusionFactor 値を取得します。
まず、URP 7.2.0 にアップグレードします。ユニバーサルレンダーパイプラインのバージョン 7.2.0 にアップグレードする を参照してください。
URP 8.x.x は Post-Processing Stack v2 パッケージをサポートしていません。プロジェクトで Post-Processing Stack v2 パッケージを使用している場合は、まずそのパッケージを使用するエフェクトを移行します。