概要
2014/10/27 に、エディタ拡張用のアセット「Monitor Components」がリリースされました
「Monitor Components」を導入すると、下記の項目のパラメータが
時系列グラフで閲覧できるようになります
- MonoBehaviour
- Transform
- Rigidbody
- Rigidbody2D
- AudioSource
- Debug.Log
パラメータが常に可視化されるため、
予期せぬ値が設定されていないかどうかの調査の役に立ちます
検証環境
- Unity 5.6.2f1
- Monitor Components 1.0.4
Monitors ウィンドウについて
Unity メニューの「Window>Monitors」を選択すると Monitors ウィンドウが表示されます
この Monitors ウィンドウでオブジェクトのパラメータやデバッグログを時系列グラフで閲覧できます
サンプリングされたグラフは再生中、もしくは一時停止中のみ表示されます
プルダウンメニューからオブジェクトを選択することで
サンプリング対象のオブジェクトを絞り込むことができます
グラフの見た目を線形補間するかどうかを変更できます
スライダーを操作してサンプリングする時間を変更できます(0.1 ~ 20 秒)
監視用コンポーネント
Monitors ウィンドウにパラメータやデバッグログを表示したい場合は
下記のコンポーネントを各ゲームオブジェクトにアタッチします
コンポーネント | 内容 |
---|---|
MonitorComponent | 任意のコンポーネントの public 変数や SerializeField 属性が適用された private 変数を監視します |
MonitorTransform | Transform の下記のパラメータを監視します ・position ・rotation ・scale |
MonitorRigidbody | Rigidbody の下記のパラメータを監視します ・position ・rotation ・velocity ・angular velocity |
MonitorRigidbody2D | Rigidbody2D の下記のパラメータを監視します ・position ・rotation ・velocity ・angular velocity |
MonitorAudioSource | Audio Source の下記のパラメータを監視します ・volume ・pitch ・isPlaying |
MonitorDebugLog | Debug.Log のメッセージを監視します |
MonitorComponent
using UnityEngine; public class Example : MonoBehaviour { public Vector3 m_position; [SerializeField] private Vector3 m_velocity; }
例えば上記のような自作のコンポーネントのパラメータを監視したい場合は
MonitorComponent を使用します
このように Inspector で対象のオブジェクトに MonitorComponent をアタッチして
監視したいパラメータを設定すると、Monitors ウィンドウに項目が追加されて
パラメータを監視できるようになります
MonitorTransform
Transform のパラメータを監視したい場合は MonitorTransform をアタッチして
監視したいパラメータをチェックします
MonitorRigidbody
Rigidbody のパラメータを監視したい場合は MonitorRigidbody をアタッチして
監視したいパラメータをチェックします
MonitorRigidbody2D
Rigidbody2D のパラメータを監視したい場合は MonitorRigidbody2D をアタッチして
監視したいパラメータをチェックします
MonitorAudioSource
AudioSource のパラメータを監視したい場合は MonitorAudioSource をアタッチして
監視したいパラメータをチェックします
MonitorDebugLog
オブジェクトが出力するログを監視したい場合は MonitorDebugLog をアタッチします
「Filter prefix」に文字列を入力すると、その文字列から始まるログだけ監視できるようになります
その他
各種コンポーネントで用意されている「Axis Mode」を変更すると
Monitors ウィンドウにおけるグラフの表示方法が変わります
項目 | 内容 |
---|---|
Fixed | 設定した最小値、最大値の範囲内でグラフが表示されます |
Expansive Adaptive |
パラメータの値が大きくなっても綺麗にグラフが表示されます |
Expansive と Adaptive の違いがわからなかったですが、概ね上記のような挙動となっています
まとめ
各種パラメータが時系列グラフによって可視化されるため
予期せぬ値がどのタイミングで設定されているか調査する時に役に立ちます
興味がある方は購入してみて頂ければと思います