
フレームデバッガーの使用
Tutorial
intermediate
+10XP
30 mins
Unity Technologies
フレームデバッガーは、特定のフレーム上で実行中のゲームの再生を凍結させ、そのフレームをレンダリングするために使用されている個々の ドローコール を表示することができる便利なツールです。また、デバッガーはフレームを 1 つ 1 つ実行することができるので、シーンがどのようにそのグラフィックエレメントから構成されていくかをとても詳細に見ることができます。このチュートリアルでは、フレームデバッガーについて学び、それを使ってどのように解析するかを説明します。
Languages available:
1. フレームデバッガー
2019.4 で検証しました
2019.3 で検証済みはこちら(https://learn.unity.com/tutorial/working-with-the-frame-debugger-2019-3)
フレームデバッガーは、特定のフレーム上で実行中のゲームの再生を凍結させ、そのフレームをレンダリングするために使用されている個々の ドローコール を表示することができる便利なツールです。また、デバッガーはフレームを 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:現在のゲームビューを赤、緑、青、そしてアルファチャンネルそれぞれに分けて表示することができます。レンダリングテクスチャのアルファチャンネルを分離することで、ディファード G バッファのオクルージョン(RT0アルファに格納)及び smoothness (スムースネス)(RT1アルファに格納)を見ることができます
- Levels:明るさのレベル別にビューを分けることができます。
注意:Levels と Channels のオプションは、RenderTexture にレンダリングするときのみ有効になります。
4. シェーダープロパティの値の見方
ドローコールを選択すると、シェーダーのプロパティ値を表示できます。
1. ウィンドウの左側でドローコールを選択します。
2. ShaderProperties ボタンを選択します (画像 06)。
また、ShaderProperties では、どのシェーダーステージが使用されているかも表示されます。選択したシェーダーの現在の状態と、使用されているプロパティを知ることは、描画処理中にシェーダーが正しく動作していることを確認するのに役立ちます。
5. まとめ
Frame Debug ウィンドウは、特定のフレームに関する詳細な情報を得ることができる便利なツールです。ライティング、レンダリング、またはフレームレートに関連する問題について、シーンをデバッグするのに役立ちます。