テラシュールブログ

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

Unityで特定のオブジェクトをシーンビューから選択出来ないようにする

意外と知られていないことだが、シーンビューからオブジェクトを選択不可にする方法は2つある。

一つ目はHierarchyViewから非表示にしてしまうこと。

例えばLockObjectのように、アタッチしたオブジェクトの子オブジェクトを非表示にする事で、特定階層から下のオブジェクトを選択不可にする。
LockObjecの使い方は、以下を編集不可にしたいコンポーネントにLockObjectをアタッチし「編集可能」のチェックを外すだけだ。この場合、編集可能のチェックを外せば選択可能になる。

このアプローチは、要するにオブジェクトのhideFlagsにHideFlags.HideInHierarchyを入れるだけ。詳しくは
以下の記事で説明しているので、そちらを参照して欲しい。
tsubakit1.hateblo.jp


選択


2つ目は、レイヤー単位でロックすること。

画面右上のLayerを選択し、特定のオブジェクトの鍵マーク を選択すると、そのレイヤーのオブジェクトがシーンビューから操作出来なくなる。

スクリーンショット 2014-07-06 8.42.49
なお通常レイヤーは32種類(自由に操作出来るのは24種類)しか使えないが、2D向けレイヤーはSortingLayerなので自由に作れる。
これで背景・エフェクトのレイヤーを切り替えておくことで、2Dの選択が誤爆する頻度を下げられそうだ。

ちなみにスクリーンショット 2014-07-06 8.44.24 の隣のマークは「表示」アイコンで、これを消すとシーンビューに表示されなくなる。以前何らかの理由(その時はエディタのアップデート)でこのチェックが外れて Sceneビューに何も表示されない! - テラシュールブログ が発生したのは懐かしい思い出。



このブログでは、皆様の意見・感想・調査対象を募集しています。何かあれば、下のコメント欄か@tsubaki_t1まで。明日はコメントにあった「ポケモン作るのに使えそうなアセットを知りたい」について調査します。多分