さる御方のふとした一言により、試しに作ってみたら思ってた以上に便利だったので、ここにメモします。
Inspectorビューは使われすぎではないかという意見
事の発端は、「Inspectorビュー使われすぎじゃね…?」というさる御方の意見でした。確かに言われてみると、Inspectorビューは本当に色々な要素に使用されています。
- Game内のパラメータはInspectorビュー
- アセットの設定は大体Inspectorビュー
- ライティング(Light)の設定はInspectorビュー
- カメラの設定はInspectorビュー
- Materialの設定はInspectorビュー
- Meshの設定はInspectorビュー
- アプリの設定はInspectorビュー
- ビルド設定はInspectorビュー
どれかを変更したければInspectorビューの表示内容を変更する必要があり、複数の項目を同時に変更する事は出来ません。
この操作と結果が余り変化しないのがUnityの理解しやすさの一つだと個人的には思いますが、階層の深いGameObjectやPlayerSettings等、1ステップで表示出来ない項目も結構あるため、思えばかなり面倒くさいです。
一応Selectionという手はありますが…
Inspectorビューを複数表示してLockする
Inspectorビューを複数表示してロックする事自体は、特にエディタを拡張しなくとも、以下の手順で可能です。
- Inspectorビュー上の「三」よりAdd Tab → Inspector を選択し、Inspectorビューをもう一つ表示する。
- 増やしたタブを移動
- 「三」→Lockもしくはカギマークをクリックして、Inspectorビューが変更されないようにする
Inspectorビューの追加と固定をもっと簡単に
この手順を取るのが面倒くさいので、Ctrl + LでInspectorビューを複製・ロックするエディタ拡張を作ってみた所、これが思いの外便利でした。
使い方
LockInspectorのコードをEditorフォルダ以下に配置すれば、導入完了です。
後はCtrl + Lで現在選択中のInspectorを複製&ロックします。
既知の問題
- Unity 5.5 b5で試した限り、で動かす際、別のシーンをロードした際にクラッシュします。これはエディタ拡張云々と言うよりは、Lock処理に問題が有るみたいです。(手動でInspectorをLockした場合もクラッシュします)
5.4系だと問題なく動きます(バグレポート済) - シーン毎に状態を保持する訳では無いので、シーン内のオブジェクトをLock Inspectorに表示してる場合、別のシーンファイルをロードするとInspectorビューの中身が空になります。