
フレームデバッガーの使い方 - 2019.3
Tutorial
intermediate
+10XP
15 mins
Unity Technologies

本チュートリアルでは、フレームデバッガーの使い方を学びます。
Languages available:
1. はじめに
Unity 2019.2 以下のバージョンをお使いの方は、こちらをクリックしてください。
フレームデバッガーは、実行中のゲームの再生を特定のフレームでフリーズさせ、そのフレームのレンダリングに使用された個々のドローコールを見ることができる便利なツールです。また、デバッガーでは、フレームを 1 つ 1 つ確認することができるので、シーンがどのように構成されているかをより詳細に確認することができます。これは、特定のシーンでフレームレートの問題が発生した場合に、プロジェクトをデバッグするのに役立ちます。
2. フレームデバッガーの使用
Frame Debug ウィンドウを開いて、その機能を見てみましょう。まず、ウィンドウ内でドローコールを見ることができるように、プロジェクトが開かれていて、オブジェクトがロードされたシーンがあることを確認してください。
1. Window > Analysis > Frame Debugger をクリックして、Frame Debug を開きます。
2. 新しいウィンドウで、左上のツールバーの Enable ボタンをクリックします (画像 01)。
3. ウィンドウの左側にある Draw Mesh の呼び出しをクリックします。Draw Mesh をクリックすると、その Draw Mesh が実際にレンダリングした内容で Game ウィンドウが更新されます(画像 02)。
Frame Debug ウィンドウは、目的の情報を見つけやすいように、セクションごとに分かれています。左側には、ドローコールのシーケンスや、ポストプロセスエフェクトなどのイベントが表示されます。ウィンドウの右側には、ジオメトリの詳細やレンダリングに使用されたシェーダーなど、選択したドローコールに関する詳細情報が表示されます (画像 03)。
3. フレームデバッガーを最大限に活用する方法
Frame Debug ウィンドウには、情報を整理するためのボタンやツールが多数用意されています (画像 04)。
- Enable/Disable:フレームデバッガーの有効/無効を切り替えるトグル
- Editor Dropdown:選択したドローコールをエディターのカメラから、または IP によるリモートエディターからプレビューすることができます。注意:指定されたプレイヤーは、マルチスレッドレンダリングをサポートし、Development Build がチェックされている必要があります。また、Run in Background がチェックされていることを確認してください。
- Slider:すべてのドローコールをスクラブすることが可能です。
- Arrows:ドローコールを前後に移動できます。
さらに、チャンネルや輝度でレンダリングを分離することもできます。
- Render Target:一度に複数のレンダリングを行う場合に、レンダリングターゲットを変更することができます。
- Channels:Game ビューの現在の状態に合わせて、赤、緑、青、アルファの各チャンネルを分離することができます。アルファチャンネルを分離することで、G バッファのオクルージョン(RT0)及び smoothness (スムースネス)(RT1)を見ることができます。
- Levels:明るさのレベルに応じて、ビューのエリアを分離することができます。
注意:Levels と Channels のオプションは、RenderTexture へのレンダリング時にのみ利用できます。
4. シェーダープロパティの表示
ドローコールを選択すると、シェーダーのプロパティ値を見ることができます。
1. ウィンドウの左側でドローコールを選択します。
2. ShaderProperties ボタンを選択します (画像 06)。
また、ShaderProperties では、どのシェーダーステージが使用されたかが表示されます。選択されたシェーダーの現在の状態と、使用されているプロパティを知ることは、描画処理中にシェーダーが正しく動作していることを確認するのに役立ちます。
5. まとめ
Frame Debug ウィンドウは、特定のフレームに関する詳細な情報を得ることができる便利なツールです。ライティング、レンダリング、フレームレートに関連する問題について、シーンをデバッグするのに役立ちます。