docs.unity3d.com
    目次を表示する/隠す

    ユニバーサルレンダーパイプラインのバージョン 7.2.0 にアップグレードする

    このページには、Universal Render Pipeline (ユニバーサルレンダーパイプライン、URP) の旧バージョンを最新バージョンにアップグレードする際に役立つ情報が記載されています。

    コンソール向けのプロジェクトのビルド

    PlayStation 4 または Xbox One 向けのプロジェクトをビルドするには、サポート対象の各プラットフォーム用に追加パッケージをインストールする必要があります。

    詳細については、コンソール向けのビルド に関するドキュメントを参照してください。

    深度テクスチャが必要

    URP の以前のバージョンでは、ポストプロセスを有効にした場合は、常にパイプラインで深度が必要でした。ポストプロセス統合の機能改善を実施し、Depth of Field、Motion Blur、または SMAA エフェクトを有効にした場合にのみ、パイプラインで深度が必要になるようにしました。これにより、多くの場合パフォーマンスが向上します。

    ポストプロセスを使用するカメラで深度がデフォルトで要求されなくなったため、ソフトパーティクルなど他のエフェクトで深度を使用する場合は、カメラで深度が必要なことを手動で示す必要があります。

    すべてのカメラで深度を要求するようにするには、パイプラインアセット の Depth Texture オプションを有効にします。個々のカメラで深度を要求するようにするには、カメラの Inspector で Depth Texture オプションを On に設定します。

    メインライトからのシャドウのサンプリング

    以前の URP のバージョンでは、メインライトでシャドウカスケードが有効になっていると、スクリーンスペースパスで影が解像されました。現在は、不透明または透明なオブジェクトのレンダリング中、常にパイプラインにより影が解像されるようになりました。これにより一貫性が確保され、影に関する多くの問題が解決しました。

    カスタム HLSL シェーダーで _ScreenSpaceShadowmapTexture テクスチャをサンプリングする場合は、代わりに GetMainLight 関数を使用してシャドウをサンプリングするようにアップグレードする必要があります。

    例:

    float4 shadowCoord = TransformWorldToShadowCoord(positionWorldSpace);
    Light mainLight = GetMainLight(inputData.shadowCoord);
    
    // ここで影を使用して、リアルタイムのオクルージョンを適用できます
    half shadow = mainLight.shadowAttenuation;
    

    また、カスタムシェーダーが正確に影を受けるよう、.shader ファイルで以下を定義する必要があります。

    # pragma multi_compile _ _MAIN_LIGHT_SHADOWS
    # pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE
    

    透明なオブジェクトで影を受ける

    シャドウカスケードの使用時に、透明なオブジェクトで影を受けられるようになりました。パフォーマンスを向上させるため、透明なオブジェクトで影を受ける機能を任意で無効にすることもできます。これを行うには、フォワードレンダラーアセットで Transparent Receive Shadows を無効にします。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)