Version: Unity 6.0 (6000.0)
言語 : 日本語
シェーダーを URP のディファードレンダリングパスと互換性のあるものにする
URP のインストールとアップグレード

URP でのフォワード+ レンダリングパスのトラブルシューティング

ビルド時間の短縮

プロジェクトで使用されるユースケース、ターゲットプラットフォーム、レンダラー、機能の種類は多岐にわたるため、特定の URP 設定ではシェーダーバリアントの数が多くなる可能性があります。そのため、コンパイル時間が長くなることがあります。

シェーダーコンパイル時間が長いと、プレイヤーのビルド時間とシーンがエディターで描画する時間の両方に影響します。

カメラごとの可視ライト制限値は、各 Lit シェーダーバリアントおよび Complex Lit シェーダーバリアントのコンパイル時間に影響します。フォワード+ レンダリングパスでは、デスクトッププラットフォームでの制限は 256 です。

このセクションでは、カメラごとのデフォルトの最大可視ライト数を変更することで、シェーダーのコンパイル時間を短縮する方法について説明します。

可視ライトの最大数の変更

ノート:ここでは、URP 設計の制限の回避策について説明します。この制限は、将来の Unity バージョンのいずれかで緩和される予定です。

ユニバーサルレンダーパイプライン (URP) 設定パッケージには、最大可視ライト数を定義する設定があります。以下の手順では、これらの設定を変更する方法について説明します。

ノート:プロジェクトの Unity バージョンをアップグレードする場合は、この手順を繰り返してください。

  1. プロジェクトフォルダーで、URP 設定パッケージフォルダーを /Library/PackageCache/com.unity.render-pipelines.universal-config から /Packages/com.unity.render-pipelines.universal-config にコピーします。

  2. ファイル /com.unity.render-pipelines.universal-config/Runtime/ShaderConfig.cs.hlsl を開きます。

    ファイルには、MAX_VISIBLE_LIGHT_COUNT で始まりターゲットプラットフォーム名で終わる複数の定義が含まれています。角かっこ内の値は、プロジェクトに適したカメラごとの錐台内ライトの最大数 (例えば MAX_VISIBLE_LIGHT_COUNT_DESKTOP (32)) に変更します。

    フォワード+ レンダリングパスでは、値にメインライトが含まれます。フォワードレンダリングパスでは、値にメインライトは含まれません。

  3. ファイル /com.unity.render-pipelines.universal-config/Runtime/ShaderConfig.cs を開きます。

    ファイルには、k_MaxVisibleLightCount で始まりプラットフォーム名で終わる複数の定義が含まれています。ShaderConfig.cs.hlsl ファイルで設定された値と一致するように値を変更します (例えば k_MaxVisibleLightCountDesktop = 32;)。

  4. 編集したファイルを保存し、Unity エディターを再起動します。Unity は、新しい設定を使うようにプロジェクトおよびシェーダーを自動的に設定します。

これで、各シェーダーバリアントのコンパイル時間が短縮されたため、プレイヤーのビルド時間が短くなります。

シェーダーを URP のディファードレンダリングパスと互換性のあるものにする
URP のインストールとアップグレード
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961