LoginSignup
4
1

More than 5 years have passed since last update.

[Unity]HierarchyのGameObjectを非表示にする

Last updated at Posted at 2017-04-10

ヒエラルキービューからGameObjectを非表示にすることができます

この機能を使うことで、デザイナーさんやアニメータさんなど、エンジニア以外の人が作業する時に触ってほしくないオブジェクトを隠蔽して、効率的に作業を分担することができます。

HideInHierarchyフラグ

gameObject.hideFlags の HideFlags.HideInHierarchy を入れることでヒエラルキービューからゲームオブジェクトを非表示にすることが可能となります。

qiita.cs
gameObject.hideFlags = HideFlags.HideInHierarchy;

エディタ上(シーン編集中)で動作させる

エディタ上で動作するようにクラス属性として[ExecuteInEditMode]属性を付与することで、シーン編集中でもゲームオブジェクトを非表示することの恩恵が受けられます。
非表示にしたいオブジェクトに下記のスクリプトを貼り付ければOKです。
#if UNITY_EDITOR ~ #endifで囲えば、リリースビルドでは無視されます。

qiita.cs
#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を非表示にする

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1