MRが楽しい

MRやVRについて学習したことを書き残す

Unityでレンダリング統計ウィンドウとFrame Debugを利用する

本日は Unity の小ネタ枠です。
Unityでレンダリング統計ウィンドウと Frame Debug を利用する手順を記事にします。

レンダリング統計ウィンドウ

[Game]画面の[Stats]をチェックすることで表示できます。
f:id:bluebirdofoz:20200826212531j:plain

エディタ再生時のFPSや、レンダリングの SetPass Call、Batches の数を確認できます。
f:id:bluebirdofoz:20200826212547j:plain

docs.unity3d.com

Frame Debug

メニューから Window -> Analysis -> FrameDebugger で[Frame Debug]ウィンドウが開きます。
f:id:bluebirdofoz:20200826212650j:plain

[Enable]をクリックすると、フレーム内で行われたレンダリングの詳細を確認することができます。
f:id:bluebirdofoz:20200826212705j:plain

docs.unity3d.com

使用例

試しにレンダリング統計ウィンドウとFrameDebuggerを確認して、不要なドローコールを減らしてみます。
f:id:bluebirdofoz:20200826212715j:plain

Unlit/Color のマテリアルを持つ Cube オブジェクトを配置してみました。
この時点で SetPass Call は 4、Batches は 4 です。
f:id:bluebirdofoz:20200826212724j:plain

[Frame Debug]ウィンドウでレンダリングの詳細を確認します。
Cube のレンダリングのほかにはバッファのクリア、影の処理、スカイボックスの描画処理が行われています。
f:id:bluebirdofoz:20200826212735j:plain

試しに、影の処理とスカイボックスの描画を止めてみます。
ライトオブジェクトを選択し、[Inspector]ビューから[Shadow Type]を[No Shadow]に変更して影を無効化します。
f:id:bluebirdofoz:20200826212754j:plain

次にカメラオブジェクトを選択し、[Inspector]ビューから[Clear Flags]を[Solid Color]に変更してスカイボックスの描画を止めます。
f:id:bluebirdofoz:20200826212807j:plain

この状態で再び[Frame Debug]ウィンドウを開きます。
影の処理、スカイボックスの描画処理が行われず、SetPass Call は 2、Batches は 2 になることを確認できました。
f:id:bluebirdofoz:20200826212818j:plain