Version: Unity 6.0 (6000.0)
言語 : 日本語
URP 13 (Unity 2022.1) へのアップグレード
ユニバーサルレンダーパイプラインのバージョン 11.0.xにアップグレードする

URP 12 (Unity 2021.2) にアップグレードする

このページでは、Universal Render Pipeline (ユニバーサルレンダーパイプライン、URP) の旧バージョンからバージョン 12.0.x にアップグレードする方法を説明します。

ビルトインレンダーパイプラインのプロジェクト用に作成したアセットを、URP に対応するアセットに変換する方法については、レンダーパイプラインコンバータ のページを参照してください。

URP 11.x.x からのアップグレード

  • フォワードレンダラーアセットの名称が、ユニバーサルレンダラーアセットに変わりました。URP 12 が含まれている Unity エディターで既存のプロジェクトを開くと、フォワードレンダラーアセットがユニバーサルレンダラーアセットに更新されます。

  • ユニバーサルレンダラーアセットに含まれている Rendering Path プロパティで、フォワードレンダリングパスまたはディファードレンダリングパスを選択できます。

  • ClearFlag.Depth メソッドでステンシルバッファが暗示的に消去されることはなくなりました。新しいメソッド ClearFlag.Stencil を使用してください。

  • URP 12 には レンダーパイプラインコンバータ 機能が実装されています。これは、これまで Edit > Render Pipeline > Universal Render Pipeline > Upgrade… から使用できたアセットアップグレード機能に替わる機能です。

URP 10.0.x–10.2.x からのアップグレード

  1. 新しいファイル名にはスペースが含まれません。新しいファイル名にはスペースが含まれません。
    Autodesk Interactive
    Autodesk Interactive Masked
    Autodesk Interactive Transparent

    コードで Shader.Find() メソッドを使用してシェーダーを検索する場合は、Shader.Find("AutodeskInteractive) のように、シェーダー名からスペースを削除してください。

URP 7.2.x 以降のリリースからのアップグレード

  1. URP 12.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.hlslInputData 構造体には、新しい宣言 float2 normalizedScreenSpaceUV が含まれています。

  • Lighting.hlslAmbientOcclusionFactor 構造体には、間接オクルージョンと直接オクルージョンを計算するための変数が含まれています。

    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 値を取得します。

シャドウ法線バイアス

11.0.x では、シャドウ法線バイアスを適用する式が、パンクチュアルライトへの適用改善のために若干修正されました。そのため、シーンによっては、以前のリビジョンのシャドウアウトラインと正確に一致させるために、このパラメーターが調整されることがあります。通常は、ディレクショナルライトで 1.0 の代わりに 1.4 を使用すれば十分です。

Intermediate Texture

以前のバージョンの URP では、レンダラーにアクティブな Renderer Feature がある場合に、URP は中間レンダラーを使用してレンダリングしていました。これは、一部のプラットフォームではパフォーマンスに大きな影響を与えます。このリリースでは、URP はこの問題を以下の方法で緩和します。URP は、Renderer Feature が ScriptableRenderPass.ConfigureInput メソッドを使用して入力を宣言することを想定しています。このメソッドは、中間テクスチャを使用したレンダリングが必要かどうかを自動的に判断するための情報を提供します。

ユニバーサルレンダラーには、互換性のための新しいプロパティ Intermediate Texture があります。このプロパティで Always を選択すると、URP は中間テクスチャを使用します。Auto を選択すると、新しい動作が有効になります。Renderer Feature が ScriptableRenderPass.ConfigureInput メソッドを使用して入力を宣言しない場合にのみ、Always オプションを使用するようにしてください。

既存のプロジェクトが正常に機能するように、Renderer Feature (URP に含まれているものを除く) を使用していたすべての既存のユニバーサルレンダラーアセットでは、Intermediate Texture プロパティで Always オプションが選択されています。新しく作成されたユニバーサルレンダラーアセットでは、Auto オプションが選択されます。

URP 7.0.x–7.1.x からのアップグレード

  1. まず、URP 7.2.0 にアップグレードします。ユニバーサルレンダーパイプラインのバージョン 7.2.0 にアップグレードする を参照してください。

  2. URP 8.x.x は Post-Processing Stack v2 パッケージをサポートしていません。プロジェクトで Post-Processing Stack v2 パッケージを使用している場合は、まずそのパッケージを使用するエフェクトを移行します。

LWRP から 12.x.x へのアップグレード

  • LWRP から URP 12.x.x. に直接アップグレードすることはできません。まず LWRP から URP 11.x.x にアップグレードする手順に従い、次に URP 11.x.x から URP 12.x.x にアップグレードしてください。
URP 13 (Unity 2022.1) へのアップグレード
ユニバーサルレンダーパイプラインのバージョン 11.0.xにアップグレードする
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961