ユニバーサルレンダーパイプラインのバージョン 11.0.x にアップグレードする
このページでは、Universal Render Pipeline (ユニバーサルレンダーパイプライン、URP) の旧バージョンからバージョン 11.0.x にアップグレードする方法を説明します。
URP 10.0.x–10.2.x からのアップグレード
以下のシェーダーグラフのシェーダーのファイル名が変わりました。新しいファイル名にはスペースが含まれません。
Autodesk Interactive
Autodesk Interactive Masked
Autodesk Interactive Transparent
コードで
Shader.Find()
メソッドを使用してシェーダーを検索している場合は、Shader.Find("AutodeskInteractive)
のようにシェーダー名からスペースを削除してください。
URP 7.2.x 以降のリリースからのアップグレード
- URP 11.x.x は Post-Processing Stack v2 パッケージをサポートしていません。プロジェクトで Post-Processing Stack v2 パッケージを使用している場合は、まずそのパッケージを使用するエフェクトを移行します。
DepthNormals パス
バージョン 10.0.x から、URP が _CameraNormalsTexture
という法線テクスチャを生成できるようになりました。このテクスチャにカスタムシェーダーでレンダリングするには、DepthNormals
という名前のパスを追加します。例については、Lit.shader
の実装を参照してください。
スクリーンスペースアンビエントオクルージョン (SSAO)
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
の値を取得します。
シャドウの法線バイアス
- 0.x では、Punctual Light との連携を強化するために、シャドウの法線バイアスを適用するための式が若干修正されました。 そのため、過去のリビジョンと影の輪郭を完全に一致させるには、一部のシーンでパラメーターの調整が必要になる場合があります。通常は、ディレクショナルライトで 1.0 の代わりに 1.4 を使用すれば十分です。
URP 7.0.x-7.1.x からのアップグレード
まず、URP 7.2.0 にアップグレードします。ユニバーサルレンダーパイプラインのバージョン 7.2.0 にアップグレードする を参照してください。
URP 8.x.x は Post-Processing Stack v2 パッケージをサポートしていません。プロジェクトで Post-Processing Stack v2 パッケージを使用している場合は、まずそのパッケージを使用するエフェクトを移行します。