| この記事の要点 |
|
Hierarchy ウィンドウとは
Hierarchy ウィンドウは、現在編集中のシーンに存在するすべての GameObject をツリー構造で表示するパネルです。Project ウィンドウ(プロジェクトに保存されたアセット)と対になる存在で、Hierarchy はシーン内のオブジェクトのみを扱います。
多くの操作 (オブジェクト選択、親子関係の構築、Prefab 化、Sceneビューでの選択同期) はここを起点に行われます。
親子関係 (Parent / Child)
Hierarchy 上でドラッグ&ドロップすると親子関係を作れます。子は親の Transform を継承する重要な機能です:
- 位置 (Position) — 親が動くと子も同じだけ動く
- 回転 (Rotation) — 親が回ると子も同じ軸で回る
- スケール (Scale) — 親を 2 倍にすると子の見た目も 2 倍
- Active 状態 — 親を非アクティブにすると子も全部消える
子の Transform に表示される値は親に対する相対値 (localPosition / localRotation / localScale) です。グローバル座標は transform.position でアクセスできます。
Empty GameObject の活用
右クリック → Create Empty で空の GameObject を作れます。Transform だけを持つこのオブジェクトは多用途:
- 複数 GameObject のグループ親(フォルダ代わり)
- 計算用の基準座標(弾の発射位置、エフェクト原点等)
- マネージャー系スクリプトのアタッチ先(GameManager 等)
- Animator のルート
Hierarchy 右クリックメニュー
空白部分または GameObject 上で右クリックで主要操作一覧:
| メニュー | サブ項目 |
|---|---|
| Create Empty | 空 GameObject 作成(シーン直下 or 子) |
| 3D Object | Cube / Sphere / Capsule / Cylinder / Plane / Quad / Terrain / Text 等 |
| 2D Object | Sprite / Sprite Mask / Tilemap 等 |
| Effects | Particle System / Trail / Line |
| Light | Directional / Point / Spot / Area |
| Audio | Audio Source / Audio Reverb Zone |
| Video | Video Player |
| UI | Canvas / Image / Text / Button / Panel / Scroll View 等 |
| Camera | カメラ追加 |
| Cut / Copy / Paste / Duplicate / Delete | 標準操作(Paste As Child もあり) |
| Rename | 名前変更 (F2 でも可) |
| Set as first / last sibling | 同階層内の表示順 |
Prefab インスタンスの表示
Prefab 化された GameObject は Hierarchy 上で見た目が変わります:
| 表示 | 意味 |
|---|---|
| 青文字 | Prefab インスタンス(変更なし) |
| 青+太字 | Prefab インスタンス(オーバーライドあり) |
| 青+斜体 | Prefab Variant |
| 赤文字 | Prefab が見つからない (Missing Prefab) |
| グレー文字 | 非アクティブ (gameObject.SetActive(false)) |
Active 状態のトグル
各 GameObject 名の左にあるチェックボックスで Active / Inactive を切替えます。Inspector の最上段にも同じチェックボックスがあります。子は親の Active 状態にも依存:
// 自分の Active 設定
go.activeSelf // 自分のチェック (true/false)
go.activeInHierarchy // 親もたどって実際に有効か
// SetActive
go.SetActive(false); // 自分と子全部を非表示・スクリプト停止
検索とフィルタ
Hierarchy 上部の検索ボックスで GameObject 名検索ができます。プレフィックスで絞り込み:
名前— 名前部分一致t:Camera— Type 検索(コンポーネント名)t:Light— Light 全てl:UI— Layer 名で検索
Sort モード
Hierarchy 右上の 横線が並んだアイコンで並び順を変更:
- Transform Sort(既定)— Hierarchy 上の階層順
- Alphabetical Sort — 名前順
- カスタムソート(エディタ拡張可)
Multi Scene Editing
Unity は複数シーンを同時に開いて編集できます。レベル分けやライティングシーン分離、共通 UI の分割等に便利:
- Project ウィンドウから別シーンを Hierarchy にドラッグ → 追加ロード
- 各シーンはLoaded / Unloaded / Active 状態を切替可
- 右クリック → Set Active Scene でアクティブシーン指定(新規 GameObject はここに入る)
- 右クリック → Unload Scene / Remove Scene
using UnityEngine.SceneManagement;
// ランタイムでもマルチシーンロード可能
SceneManager.LoadScene("UI", LoadSceneMode.Additive);
SceneManager.LoadScene("Stage1", LoadSceneMode.Additive);
// アクティブシーン変更
Scene s = SceneManager.GetSceneByName("Stage1");
SceneManager.SetActiveScene(s);
便利ショートカット
| キー | 動作 |
|---|---|
| F2 | 名前変更 |
| Alt + ←/→ | ツリー折りたたみ / 展開 |
| Alt + Shift + ←/→ | 子を含めて折りたたみ |
| Ctrl + D | 複製 |
| Ctrl + Shift + N | 新規 Empty GameObject |
| Alt + Shift + N | 選択中の子として新規 Empty |
| F | Scene ビューで選択中にフォーカス |
| Shift + クリック | 範囲選択 |
| Ctrl + クリック | 追加選択 |
Hierarchy をロックする
Inspector と同じ右上の南京錠アイコンはありませんが、別タブを作って同様の効果が得られます。タブ右クリック → Add Tab → Hierarchy。
パフォーマンス注意点
- Hierarchy に数万単位の GameObject があるとエディタが重くなる → 動的生成して Object Pool で管理
- 深すぎる階層(10 階層以上)は Transform 行列計算が重い → フラットに保つ
- シーン保存時にすべての GameObject の差分が書き出される → 大規模シーンは Prefab 分割
FAQ
Q: ドラッグで親子化したら子の Transform 値が変わった
A: 親子関係を作ると、子の Position は親に対する相対値に変換されます。グローバル位置を保ちたければ、親子化前に親を原点に置くか、コードで transform.SetParent(parent, true)(第二引数 worldPositionStays=true)を使います。
Q: シーン保存時に Hierarchy の並び順が変わってしまう
A: Sort が Alphabetical になっている可能性。Transform Sort に戻してください。
Q: Hierarchy で見えない GameObject がある
A: ① 検索フィルタが残っている、② HideFlags.HideInHierarchy が設定されている、③ SerializedObject 経由で生成された一時 GameObject の可能性。
子ページはありません
- プロジェクト(Project)
- シーン(Scene)
- ヒエラルキー(Hierarchy)
- ゲームオブジェクト(Game Object)
- インスペクター(Inspector)
- アセット(Asset)
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38