Unityであらゆる描画のデバッグをできるRendering Debuggerの概要とよく使う機能をまとめました。
Unity 2021.3.16f1
Universal RP 12.1.8
Rendering Debuggerとは?
Rendering Debuggerは URPの描画をデバッグするためのシステムです。
Unity 2021.2 から使うことができます。
機能としては、オーバードローを表示したり、法線を可視化したり、RGB値が一定以上のピクセルを抽出したりできます。
Rendering Debuggerの使い方
Rendering Debugger を使うには、以下のメニューからRendering Debugger ウィンドウを開きます。
- Window > Analysis > Rendering Debugger
すると以下のようなウィンドウが開かれます。
ためしに Additional Wireframe Modes を Solid Wireframe に変えてみると、以下のようにワイヤーフレーム表示に切り替わることを確認できます。
ビルドしたアプリでも使える
Rendering Debuggerは、エディタウィンドウの他に、Development BuildでビルドしたアプリやエディタのPlayMode中にゲーム画面上に表示することもできます。
開き方は以下の通りです。
- PC: LeftCtrl+Backspace(macの場合はLeftCtrl+Delete)
- モバイル: 三本指ダブルタップ
- コンソール: L3とR3同時押し
各機能ざっくりまとめ
次にRendering Debuggerの機能をざっくりまとめます。
Materialタブ
Material Override
Material Overrideはアルベドだけ表示、スペキュラだけ表示、エミッションだけ表示といったようにマテリアルのもつ値を個別に表示してデバッグできます。
Vertex Attribute
Vertex AttibuteはTexcoordや法線、頂点カラーといった頂点情報を可視化できるメニューです。
Material Validation
アルベドの輝度が低い部分を赤く、高い部分を青く可視化します。 閾値は自由に設定することが可能で、アルベドに加えてMetallicの値を可視化することもできます。
Lightingタブ
Lightingタブでは反射だけを表示したり、陰影だけを表示したりできます。
Lighting Debug Modeで表示の仕方を選択し、Lighting Featuresでこのデバッグ表示に影響させるライティングの機能(メインライトだけ、エミッションだけとか)を選択できます。
Renderingタブ
Map Overlays
深度値やシャドウマップなど、レンダリングの過程で作られるテクスチャを画面上に表示します。
HDR
HDRを有効/無効にできます。
MSAA
MSAAを有効/無効にできます。
Post-processing
ポストエフェクトを有効/無効にできます。
Autoに設定すると、基本的にはポストエフェクトを有効にし、ポストエフェクトの影響が現在設定中のデバッグに影響を及ぼしてしまいそうな時だけ無効にしてくれます。
Additional Wireframe Modes
ワイヤーフレーム表示、シェーディング付きワイヤーフレーム表示などをすることができます。
Overdraw
オーバードローを可視化します。
Pixel Validation
最終的なピクセルの値が小さい部分を赤色に、大きい部分を青色に着色します。 閾値は自由に設定できます。