ユニバーサルレンダーパイプラインのバージョン 11.0.x にアップグレードする
このページでは、Universal Render Pipeline (ユニバーサルレンダーパイプライン、URP) の旧バージョンからバージョン 11.0.x にアップグレードする方法を説明します。
URP 10.0.x–10.2.x からのアップグレード
以下のシェーダーグラフのシェーダーのファイル名が変わりました。新しいファイル名にはスペースが含まれません。
Autodesk InteractiveAutodesk Interactive MaskedAutodesk 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 パッケージを使用している場合は、まずそのパッケージを使用するエフェクトを移行します。