#ヒエラルキービューからGameObjectを非表示にすることができます
この機能を使うことで、デザイナーさんやアニメータさんなど、エンジニア以外の人が作業する時に触ってほしくないオブジェクトを隠蔽して、効率的に作業を分担することができます。
HideInHierarchyフラグ
gameObject.hideFlags の HideFlags.HideInHierarchy を入れることでヒエラルキービューからゲームオブジェクトを非表示にすることが可能となります。
gameObject.hideFlags = HideFlags.HideInHierarchy;
エディタ上(シーン編集中)で動作させる
エディタ上で動作するようにクラス属性として[ExecuteInEditMode]
属性を付与することで、シーン編集中でもゲームオブジェクトを非表示することの恩恵が受けられます。
非表示にしたいオブジェクトに下記のスクリプトを貼り付ければOKです。
#if UNITY_EDITOR
~ #endif
で囲えば、リリースビルドでは無視されます。
#if UNITY_EDITOR
using UnityEditor;
using UnityEngine;
[ExecuteInEditMode]
public class HideObject : MonoBehaviour
{
void Start (){
gameObject.hideFlags = HideFlags.HideInHierarchy;
}
}
#endif
問題
シーンに非表示のオブジェクトがあることを知らないメンバーがシーンをいじる時、簡単に表示させる方法を用意しておかないと混乱を招きますので、チームメンバーには共有しておきましょう。
gameObject.hideFlags = HideFlags.HideInHierarchy;
をifで囲ってフラグをどこかで管理しておけばとりあえず十分かもしれません。
参考
こちらの方がより汎用的です↓
HierarchyのGameObjectを非表示にする