# Hierarchy ウィンドウ

> Use the Hierarchy window to create and organize GameObjects and control their visibility in a scene.


**新しい Unity プロジェクトを開いたときに表示されるデフォルトの Hierarchy ウィンドウ:**
![](/api/media?file=/engine/6000.0/media/images/Hierarchy_01.png)

**Hierarchy** ウィンドウには、モデル、カメラ、[プレハブ](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/prefabs.md) など、シーン内のすべての [ゲームオブジェクト](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/game-objects.md) が表示されます。Hierarchy ウィンドウを使って、シーンで使用するゲームオブジェクトをソートしたり、グループ化したりすることができます。シーンビューでゲームオブジェクトを追加/削除すると、Hierarchy ウィンドウでも追加/削除が行われます。

Hierarchy ウィンドウは他のシーンも格納することができます。各シーンにはそれぞれのゲームオブジェクトが格納されます。

## 親子関係

Unity は親子階層 (親子関係) の概念を用いてゲームオブジェクトをグループ化します。オブジェクトには、そのプロパティを継承する他のゲームオブジェクトを含むことができます。ゲームオブジェクトをリンクすると、ゲームオブジェクトのコレクションの移動、拡大縮小、変換が容易になります。最上位のオブジェクト、つまり親ゲームオブジェクトを移動すると、子ゲームオブジェクトもすべて移動します。

また、ネストになった親子のゲームオブジェクトを作ることもできます。ネストになったオブジェクトはすべて、大元の親ゲームオブジェクト、つまりルートゲームオブジェクトの子孫となります。

子オブジェクトは親オブジェクトの動きと回転を継承します。これに関する詳細は、[Transform コンポーネント](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/gameobject-fundamentals/class-transform.md) を参照してください。

&#xA;**&#x20;Child 1 と Child 2 は Parent の子ゲームオブジェクトです。Child 3 は Child 2 の子ゲームオブジェクトで、Parent の子孫ゲームオブジェクトです。:**
![](/api/media?file=/engine/6000.0/media/images/HierarchyParenting1_01.png)

## ゲームオブジェクトの整理

### 新しいゲームオブジェクトの作成

Hierarchy ウィンドウで新しいゲームオブジェクトを作成するには、以下のようにします。

1. 選択したシーンの何もない場所で右クリックします。
2. 作成したいゲームオブジェクトを選択します。

また、**Ctrl+Shift+N** (Windows)、**Command+Shift+N** (macOS) を押して、新しい空のゲームオブジェクトを作成することもできます。

**ノート**: 新しいゲームオブジェクトは自動的に "Rename" モードで作成されます。この動作を無効にするには、Hierarchy ウィンドウの More (⋮) メニューを選択し、**Rename New Objects** の選択を解除してください。

### 子ゲームオブジェクトの表示の切り替え

子ゲームオブジェクトの表示を切り替えるには、以下のようにします。

1. 親となるゲームオブジェクトの左にあるドロップダウン (►) を選択します。
2. **Alt** を押しながらドロップダウンのアイコン (►) をクリックすると、ルートゲームオブジェクトの子孫のゲームオブジェクトすべての表示が切り替わります。
3. もう一度ドロップダウンアイコン (▼) を選択すると、すべての子孫ゲームオブジェクトを折りたためます。

### 子ゲームオブジェクトの作成

子ゲームオブジェクトを作るには、以下のようにします。

* ゲームオブジェクトを Hierarchy ウィンドウの親ゲームオブジェクト上にドラッグします。


**Object 4 が選択され、Object 1 にドラッグされるため、Object 4 はObject 1 の子になることができます。:**
![](/api/media?file=/engine/6000.0/media/images/HierarchyParenting2.png)

### 親ゲームオブジェクトの作成

新しいゲームオブジェクトを既存のゲームオブジェクトの親として Hierarchy ウィンドウに加えることができます。

親ゲームオブジェクトを作るには、以下のようにします。

1. ゲームオブジェクトを右クリックするか、同一階層にある複数のゲームオブジェクトを選択して右クリックします。
2. **Create Empty Parent** を選びます。

または、**Ctrl+Shift+G** (Windows)、**Command+Shift+G** (macOS) を押して、親ゲームオブジェクトを作成することもできます。

**ノート**: デフォルトの親ゲームオブジェクトをすでに設定している場合、Create Empty Parentは、選択したゲームオブジェクトの親ではなく、デフォルトの親の子として新しいゲームオブジェクトを作成します。

### 兄弟ゲームオブジェクトの作成

兄弟ゲームオブジェクトとは、別の子ゲームオブジェクトと同じ階層にあるゲームオブジェクトのことです。兄弟のゲームオブジェクトを作るには、以下のようにします。

1. ゲームオブジェクトを既存のゲームオブジェクトの上または下にドラッグします。
2. 青い水平線を使って、ゲームオブジェクトの並び順を決めます。


**Object 4 (選択中) を、Object 2 と Object 3 の間 (青い水平線) にドラッグして、親ゲームオブジェクトの Object 1 の下に兄弟ゲームオブジェクトを作成します。:**
![](/api/media?file=/engine/6000.0/media/images/HierarchyParenting3_01.png)

### ゲームオブジェクトの複製

ゲームオブジェクトを複製するには、対象となる ゲームオブジェクト を右クリックし、**Duplicate** を選択します。

また、**Ctrl+D** (Windows)、**Command+D** (macOS) を押すと、選択したゲームオブジェクトを複製することができます。

### ゲームオブジェクトを子として貼り付ける

選択したゲームオブジェクトをカットまたはコピーして、他のゲームオブジェクトの子として貼り付けることができます。貼り付けられた子ゲームオブジェクトは、ワールド位置を維持します。

ゲームオブジェクトを子として貼り付けるには、以下のようにします。

1. 選択したゲームオブジェクトを右クリックしてから、**Cut** または **Copy** を選択します。
2. 貼り付け先の親ゲームオブジェクトを右クリックして、**Paste as Child** を選択します。

また、**Ctrl+Shift+V** (Windows)、**Command+Shift+V** (macOS) を押すと、ゲームオブジェクトを子として貼り付けることができます。

### デフォルトの親を使ったゲームオブジェクトの整理

Hierarchy ウィンドウ内の任意のゲームオブジェクトを "デフォルトの親" にすることができます。シーンビューにゲームオブジェクトをドラッグすると、このゲームオブジェクトは自動的にデフォルトの親として設定されたゲームオブジェクトの子になります。

任意のゲームオブジェクトをデフォルトの親にするには、以下のようにします。

1. Hierarchy ウィンドウで、ゲームオブジェクトを右クリックします。
2. **Set as Default Parent** を選択します。

Hierarchy ウィンドウでゲームオブジェクトをシーンビューにドラッグすると、子ゲームオブジェクトがデフォルトの親ゲームオブジェクトの下にインデントされます。また、デフォルトの親ゲームオブジェクトの名前は太字で表示されます。


**この画像では、Cube ゲームオブジェクトがデフォルトの親です。ユーザーが Car ゲームオブジェクトをシーンビューにドラッグすると、そのオブジェクトは自動的に キューブ ゲームオブジェクトの子になります。:**
![](/api/media?file=/engine/6000.0/media/images/default-parent.png)

ゲームオブジェクトからデフォルトの親のステータスを解除するには、以下のようにします。

1. Hierarchy ウィンドウで、ゲームオブジェクトを右クリックします。
2. **Clear Default Parent** を選択します。

これまでデフォルトの親であったゲームオブジェクトの名前が太字でなくなります。ゲームオブジェクト を シーンビューにドラッグすると、Hierarchy ウィンドウの最上位に表示されます。つまり、Unity はこの ゲームオブジェクトを、それまでデフォルトの親であったゲームオブジェクトの子にはしません。


**この画像では、Hierarchy ウィンドウのゲームオブジェクトはデフォルトの親として設定されていません。ユーザーが Car ゲームオブジェクトをシーンビューにドラッグすると、階層の最上位にそれが追加されます。:**
![](/api/media?file=/engine/6000.0/media/images/no-default-parent.png)

デフォルトの親は 1 シーンにつき 1 つしか設定できません。Hierarchy ウィンドウで、あるゲームオブジェクトをデフォルトの親に設定し、それから、同じシーンにある別のゲームオブジェクトをデフォルトの親にすると、2 つ目のゲームオブジェクトのみがデフォルトの親になります。

Hierarchy ウィンドウに複数のシーンがあり、各シーンにデフォルトの親を設定している場合、シーンビューにゲームオブジェクトをドラッグすると、Unity はアクティブなシーンのデフォルトの親であるゲームオブジェクトを新しいゲームオブジェクトの親にします。


**この画像では、Scene1 と Scene2 の両方のキューブ ゲームオブジェクトがデフォルトの親として設定されています。Scene1 がアクティブなシーンであるため、Unity は Scene1 の キューブ を Car ゲームオブジェクトの親として設定します。:**
![](/api/media?file=/engine/6000.0/media/images/multi-scene-default-parent.png)

[ショートカットマネージャー](https://docs.unity3d.com/Manual/ShortcutsManager.html) で、デフォルトの親のキーボードショートカットを設定することができます。Shortcuts ウィンドウで、**Hierarchy View** > **Set as Default Parent** にキーボードショートカットを割り当てます。デフォルトの親が設定されていない場合、Hierarchy ウィンドウでゲームオブジェクトを選択すると、そのショートカットを使ってそのゲームオブジェクトをデフォルトの親にすることができます。デフォルトの親が設定されている場合は、ショートカットを使って、デフォルトの親が設定されているゲームオブジェクトからデフォルトの親のステータスを解除します。

## ゲームオブジェクトの表示と選択の設定

シーン表示アイコンをクリックすると、アプリケーション内のゲームオブジェクト表示を変えずに、[シーンビュー](/engine/6000.0/manual/unity-editor/using-the-editor/using-the-scene-view.md) 内のゲームオブジェクトの表示/非表示を切り替えることができます。

シーンのオブジェクト選択アイコンを選択すると、編集中にシーンビューでゲームオブジェクトの選択可/不可が切り替わります。

これらの制御は、特定のゲームオブジェクトを表示して選択するのが難しい大きなシーンや複雑なシーンでの作業に便利です。


**シーンでの表示/非表示のアイコン/トグル:**
![](/api/media?file=/engine/6000.0/media/images/SceneVisIconsHierarchy_01.png)

詳細については、[シーンでの表示/非表示](/engine/6000.0/manual/unity-editor/using-the-editor/using-the-scene-view/scene-visibility.md) と [シーンの選択可/不可](/engine/6000.0/manual/unity-editor/using-the-editor/using-the-scene-view/scene-picking.md) を参照してください。

## ゲームオブジェクトの選択

デフォルトでは、Hierarchy ウィンドウでは、ゲームオブジェクトが作成された順に表示されます。選択したゲームオブジェクトをシーン内で上下にドラッグすることで、ゲームオブジェクトの順番を変更することができます。

### 英数字順ソート

ゲームオブジェクトを英数字順にソートするには、以下のようにします。

1. **Edit > Preferences** (macOS: **Unity > Settings**) を選択します。
2. **Enable Alphanumeric Sorting** を選択します。

これを有効にすると、Hierarchy ウィンドウにアイコンが表示され、**Transform** ソート (デフォルト) か **Alphabetical** (英数字順) ソートを切り替えることができます。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/AlphanumericToggle_01.png)

## 複数シーンの編集

Hierarchy ウィンドウ上で一度に複数のシーンを開くことも可能です。詳細については、[複数シーンの編集](/engine/6000.0/manual/working-in-unity/working-with-scenes/multi-scene-editing.md) を参照してください。

## オーバーライドインジケーター

シーン内のプレハブインスタンスを編集すると、階層内の親ゲームオブジェクトの横にインジケーターが表示されます。このインジケーターは、その子ゲームオブジェクトにデフォルト以外のオーバーライド値があるプレハブをハイライト表示します。Hierarchy ウィンドウから直接 [Overrides ドロップダウン](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/prefabs/editing-prefab-via-instance.md#OverridesDropdown) を開くには、オーバーライドインジケーターをクリックします。オーバーライドインジケーターは、マージンの左側に青い線で表示され、Inspector ウィンドウのインスタンスオーバーライドと同じものです。詳細については、[Instance オーバーライド](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/prefabs/prefab-instance-overrides.md) を参照してください。


**プレハブ Aの子であるゲームオブジェクト C の値がデフォルトでない状態のとき、その横に表示されるオーバーライドインジケーター:**
![](/api/media?file=/engine/6000.0/media/images/hierarchy-override-indicator.png)

***

*
*
