この記事でのバージョン
Unity 6000.0.42f1
はじめに
UnityはHierarchyの左側のアイコンを押すことで、
Sceneビュー上で非表示にしたり、選択できないようにしたり出来ます。
(切り替えてもGameビュー上では普通に表示される)
![]() |
今回はこれをプログラムで操作する方法の紹介です!
SceneVisibilityManager
この操作をするには、SceneVisibilityManagerというクラスを使います。
表示(Hierarchy上の目のアイコン)を切り替えるには以下のようなメソッドを実行します。
using UnityEditor;//SceneVisibilityManager使うのに必要、Unityエディタ上でしか使えない
//全オブジェクト表示 SceneVisibilityManager.instance.ShowAll(); //全オブジェクト非表示 SceneVisibilityManager.instance.HideAll();
//指定したオブジェクトを非表示にする(第2引数をtrueすると子オブジェクトも処理) SceneVisibilityManager.instance.Hide(obj, true); //指定したオブジェクトを表示する(第2引数をtrueすると子オブジェクトも処理) SceneVisibilityManager.instance.Show(obj, true);
//指定したオブジェクトを表示を切り替える(第2引数をtrueすると子オブジェクトも処理) SceneVisibilityManager.instance.ToggleVisibility(obj, true);
選択(Hierarchy上の手のアイコン)を切り替える場合も同様に
DisableAllPicking、EnablePicking、TogglePicking等のPicking系のメソッドを実行します。