テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】複数のオブジェクトを同時編集する際に便利な、Inspectorビューをサクっと複製してLockするエディタ拡張

f:id:tsubaki_t1:20161010230532j:plain

さる御方のふとした一言により、試しに作ってみたら思ってた以上に便利だったので、ここにメモします。

 

Inspectorビューは使われすぎではないかという意見

事の発端は、「Inspectorビュー使われすぎじゃね…?」というさる御方の意見でした。確かに言われてみると、Inspectorビューは本当に色々な要素に使用されています。

  • Game内のパラメータはInspectorビュー
  • アセットの設定は大体Inspectorビュー
  • ライティング(Light)の設定はInspectorビュー
  • カメラの設定はInspectorビュー
  • Materialの設定はInspectorビュー
  • Meshの設定はInspectorビュー
  • アプリの設定はInspectorビュー
  • ビルド設定はInspectorビュー

どれかを変更したければInspectorビューの表示内容を変更する必要があり、複数の項目を同時に変更する事は出来ません。

この操作と結果が余り変化しないのがUnityの理解しやすさの一つだと個人的には思いますが、階層の深いGameObjectやPlayerSettings等、1ステップで表示出来ない項目も結構あるため、思えばかなり面倒くさいです。

一応Selectionという手はありますが…

tsubakit1.hateblo.jp

Inspectorビューを複数表示してLockする

Inspectorビューを複数表示してロックする事自体は、特にエディタを拡張しなくとも、以下の手順で可能です。

  1. Inspectorビュー上の「三」よりAdd Tab → Inspector を選択し、Inspectorビューをもう一つ表示する。
  2. 増やしたタブを移動
  3. 「三」→Lockもしくはカギマークをクリックして、Inspectorビューが変更されないようにする

f:id:tsubaki_t1:20161010232101j:plain

f:id:tsubaki_t1:20161010232106j:plain

baba-s.hatenablog.com

Inspectorビューの追加と固定をもっと簡単に

この手順を取るのが面倒くさいので、Ctrl + LでInspectorビューを複製・ロックするエディタ拡張を作ってみた所、これが思いの外便利でした。

www.youtube.com

 

使い方

LockInspectorのコードをEditorフォルダ以下に配置すれば、導入完了です。

後はCtrl + Lで現在選択中のInspectorを複製&ロックします。

gist.github.com

既知の問題

  • Unity 5.5 b5で試した限り、で動かす際、別のシーンをロードした際にクラッシュします。これはエディタ拡張云々と言うよりは、Lock処理に問題が有るみたいです。(手動でInspectorをLockした場合もクラッシュします)
    5.4系だと問題なく動きます(バグレポート済)
  • シーン毎に状態を保持する訳では無いので、シーン内のオブジェクトをLock Inspectorに表示してる場合、別のシーンファイルをロードするとInspectorビューの中身が空になります。

 

関連

tsubakit1.hateblo.jp

tsubakit1.hateblo.jp