【Unity】FrameDebuggerで描画順を確認する方法

3DCG
スポンサーリンク

はじめに

今回は、FrameDebuggerで描画順を確認する方法を紹介します。

Unityが導入されており、ある程度使える事を前提に進めます。
↓VRChatユーザー向けですが、Unityの導入方法などはこちらをご覧ください。

こちらのような描画順が確認したいモノが用意されてる状態からスタートします。

この問題に至ってる時点で中~上級者だと思うので…
細かい操作説明は省いてます。

FrameDebuggerの導入

FrameDebuggerはすでにUnityに入ってます。
Windows → Analysis → 「FrameDebugger」を選択。

これで、表示されます。

以上で、FrameDebuggerの導入が完了です。

FrameDebuggerで描画順を確認する

FrameDebuggerで描画順を確認するには下記の2つが必要です。

・カメラビューの設定
・FrameDebuggerの起動

この2つを行っていきます。

カメラビューを設定する

まずSceneで視点を操作し、良い感じの位置でモデルを見ます。

そして、HierarchyでMain Cameraを右クリック。
→ 「Align With View」を選択。

Hierarchyなどが表示されてない方は、画面右上の3つの点を選択。
Add Tabから、画面を表示してください。

「Align With View」を使うと、視点の位置にカメラを移動できます。
この状態で、Main Cameraを良い感じの位置になるように調整。

描画順を確認できるのは、このカメラの視点の範囲内だけです。
なので、確認したいオプジェクトすべてが見えるようにしてください。

あとは「Game」ビューを表示。
後に、ここで描画順を確認することになります。

以上で、カメラビューの設定が完了です。

FrameDebuggerを動かす

FrameDebugger画面の「Enable」を押します。

すると、FrameDebuggerが動き始めます。
そしたら、下記の場所を開きます。

Camera.Render
 → Drawing
 → Render.TransparentGeometry
 → RenderForwardAlpha.Render
 → RenderForwardAlpha.RenderLoop Job

↓ここを開きます。

この中にある「Draw Mesh」が書かれてるモノです。
そして上から下の順に描画されてます。
試しに、一番上をクリック → 下キーで移動。

この操作を行いながら「Game」画面を確認。
すると、描画順を確認できます。

あとは、Camera.ImageEffectsなどを使えばポストプロセス系も見れるようです。

以上が、FrameDebuggerで描画順を確認する方法です。

描画順の活用方法

描画順は主に半透明の描画を正しく扱う際に必要になってきます。

細かい事は省きますが…
半透明は「後ろ → 前」に描かないと表示エラーが起こります。

手前から描くと、Zバッファ法で省略された後ろ部分の描画が消えます。
そして①が半透明だと、この重なった部分が消えたように見えます。

こちらのような挙動になります。

これの解決などに、描画順の確認は役立ちます。
↓詳細はこちらで解説してます。

https://signyamo.blog/unity_translucent/(
新しいタブで開く)
【3DCG】半透明表現がバグりやすい理由と対処法【Zバッファ,描画順】
ゲームなどのリアルタイム3DCGは、Zバッファという方法で前後関係を描いてます。これは基本は手前のモノから描画し、奥の隠れた部分を省いて描画します。が、半透明でコレを使うと奥のモノが消えてる様子が映ってしまいます。こちらをわかりやすく解説。

まとめ

今回は、UnityでFrameDebuggerを使って描画順を確認する方法を紹介しました。

・FrameDebuggerはUnityに既に入っている
・Window → Analysisから呼び出せる
・Enableを押すと起動する
・描画順を確認するために、カメラを適切な配置に設定
・カメラ設定後「RenderForwardAlpha.RenderLoop Job」で描画順を確認できる
・Draw Meshを順番に押すと、Gameビューに描画順が現れる

また、他にも3DCGやUnutyの事について解説してます。

【Blender4.1】半透明が正しく表示されない理由と対処法【描画順,設定】
ブレンドモードをアルファブレンドに設定 → 背面を非表示に設定すると高確率で綺麗に出ます。その上で、半透明に半透明の面を重ねると表示エラーが起きます。このエラーは描画順を調整し半透明は「後ろ → 前」の順にすると直せます。この設定方法を解説。

ぜひ、こちらもご覧ください。

コメント

タイトルとURLをコピーしました