ゲームを作る際、ゲームのパラメータを表示する機能はけっこう便利だ。Debug.Logやインスペクターを眺めるのでもそれなりに十分だけど、複数のインスペクターに関わる情報や更新頻度が高い情報だと、ちと役不足の時がある。
というか、実行中にパラメータをチェック出来ない。
■実行中のパラメータを表示する
なので自分はこんな感じでデバッグ情報を出してる。
これは、画面上にSetLabelで登録した文字&パラメータを表示するといったもの。
このコンポーネントをアタッチしたオブジェクトを破棄しないオブジェクトに登録し、後はSetLabelを呼ぶだけで配置・更新してくれる。
これはけっこう気に入っているのだが、GUIなんでドローコールをたくさん消費する。
開発中の動作を確認することが目的なので、開発時は特に(パフォーマンスを気にしない限り)問題はないのだが、リリースの際に破棄するのは地味に面倒くさい。何が面倒かというと、破棄した後に戻すのが面倒くさい。
どうしたもんかと思ってたら、中々良さそうな方法があった。
■ オブジェクトのタグをEditorOnlyに設定
EditorOnlyのタグを設定するとビルド時にオブジェクトを含めないように出来るらしい。これは「子オブジェクト」も有効なので、親にEditorOnlyが設定されているオブジェクトも無視されるっぽい。[Unity][Unity3d]動作環境や定数でプログラム処理を分ける方法(強火で進め)
http://d.hatena.ne.jp/nakamura001/20120327
これならInfomationMonitorをアタッチしたプレハブのタグをEditorOnlyに設定するだけで、一括ON/OFFが出来そうだ。
ちなみにこのタグは標準で付いてるので、追加する必要はないっぽい。