URP でゲームオブジェクトと SRP バッチャーとの互換性を排除する
URP での SRP バッチャーのトラブルシューティング
SRP バッチの状態は、Frame Debugger ウィンドウで確認することができます。各 SRP バッチには、Unity で使用されたドローコールの数、シェーダーにアタッチされたキーワード、そのドローコールが前のバッチと一緒に処理されなかった理由が表示されます。
SRP バッチャーのバッチ状況を確認するには、以下の手順を行います。
- エディターで Frame Debugger を開きます (メニュー: Window > Analysis > Frame Debugger)。
- Frame Debugger で Render Camera > Render Opaques を選択します。
- ** RenderLoopNewBatcher. Draw ** リストを展開します。
- 検査したい SRP Batch をクリックします。
以下の例での原因は次のとおりです。ノードのシェーダーが異なっています。つまり、その SRP バッチのシェーダーは、前の SRP バッチのシェーダーとは異なります。異なるシェーダーを使用した SRP バッチャーは、新しいバッチを作成しました。複数の SRP バッチでドローコールの回数が少ない場合、プロジェクトで使用するシェーダーバリアントが多すぎる可能性が高いです。
Frame Debuger ウィンドウでは、SRP バッチャーが既存のバッチを使わずに新しい SRP バッチを作成した理由など、個々の SRP バッチの詳細を確認できます。
ユニバーサルレンダーパイプライン (URP) や HD レンダーパイプライン (HDRP) を使う代わりに独自のスクリプタブルレンダーパイプラインを作成する場合、最小限のキーワードで汎用多目的なシェーダーを作成するようにします。多くのマテリアルプロパティを使用できるようになるため、最適です。
URP でゲームオブジェクトと SRP バッチャーとの互換性を排除する
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。