Hierarchy ウィンドウには、モデルやカメラ、プレハブ など、シーンにある ゲームオブジェクト がすべて表示されます。Hierarchy ウィンドウを使って、シーンで使用するゲームオブジェクトをソートしたり、グループ化したりすることができます。シーンビューでゲームオブジェクトを追加/削除すると、Hierarchy ウィンドウでも追加/削除が行われます。
Hierarchy ウィンドウは他のシーンも格納することができます。各シーンにはそれぞれのゲームオブジェクトが格納されます。
Unity では、ゲームオブジェクトをグループ化するために、親子という概念を用いています。オブジェクトには、そのプロパティを継承する他のゲームオブジェクトを含むことができます。ゲームオブジェクトをリンクさせることで、ゲームオブジェクトの集合を移動、スケール、変換することができます。最上位のオブジェクト (親ゲームオブジェクト) を移動すると、すべての子ゲームオブジェクトも移動します。
また、ネストになった親子のゲームオブジェクトを作ることもできます。ネストになったオブジェクトはすべて、大元の親ゲームオブジェクト、つまりルートゲームオブジェクトの子孫となります。
子オブジェクトは親オブジェクトの動きと回転を継承します。これに関する詳細は、Transform コンポーネント を参照してください。
Hierarchy ウィンドウで新しいゲームオブジェクトを作成するには、以下のようにします。
また、 Ctrl+Shift+N (Windows)、Command+Shift+N (macOS) を押して、新しい空のゲームオブジェクトを作成することもできます。
ノート: 新しいゲームオブジェクトは自動的に “Rename” モードで作成されます。この動作を無効にするには、Hierarchy ウィンドウのその他のメニュー (⋮) を選択し、Rename New Objects の選択を解除してください。
子ゲームオブジェクトの表示を切り替えるには、以下のようにします。
子ゲームオブジェクトを作るには、以下のようにします。
新しいゲームオブジェクトを既存のゲームオブジェクトの親として Hierarchy ウィンドウに加えることができます。
親ゲームオブジェクトを作るには、以下のようにします。
または、Ctrl+Shift+G (Windows)、Command+Shift+G (macOS) を押して、親ゲームオブジェクトを作成することもできます。
ノート: デフォルトの親ゲームオブジェクトをすでに設定している場合、Create Empty Parentは、選択したゲームオブジェクトの親ではなく、デフォルトの親の子として新しいゲームオブジェクトを作成します。
兄弟ゲームオブジェクトとは、別の子ゲームオブジェクトと同じ階層にあるゲームオブジェクトのことです。兄弟のゲームオブジェクトを作るには、以下のようにします。
ゲームオブジェクトを複製するには、対象となる ゲームオブジェクト を右クリックし、Duplicate を選択します。
また、Ctrl+D (Windows)、Command+D (macOS) を押すと、選択したゲームオブジェクトを複製することができます。
選択したゲームオブジェクトをカットまたはコピーして、他のゲームオブジェクトの子として貼り付けることができます。貼り付けられた子ゲームオブジェクトは、ワールド位置を維持します。
ゲームオブジェクトを子として貼り付けるには、以下のようにします。
また、 Ctrl+Shift+V (Windows)、 Command+Shift+V (macOS) を押すと、ゲームオブジェクトを子として貼り付けることができます。
Hierarchy ウィンドウ内の任意のゲームオブジェクトを “デフォルトの親” にすることができます。シーンビューにゲームオブジェクトをドラッグすると、このゲームオブジェクトは自動的にデフォルトの親として設定されたゲームオブジェクトの子になります。
任意のゲームオブジェクトをデフォルトの親にするには、以下のようにします。
Hierarchy ウィンドウでゲームオブジェクトをシーンビューにドラッグすると、子ゲームオブジェクトがデフォルトの親ゲームオブジェクトの下にインデントされます。また、デフォルトの親ゲームオブジェクトの名前は太字で表示されます。
ゲームオブジェクトからデフォルトの親のステータスを解除するには、以下のようにします。
これまでデフォルトの親であったゲームオブジェクトの名前が太字でなくなります。ゲームオブジェクト を シーンビューにドラッグすると、Hierarchy ウィンドウの最上位に表示されます。つまり、Unity はこの ゲームオブジェクトを、それまでデフォルトの親であったゲームオブジェクトの子にはしません。
デフォルトの親は 1 シーンにつき 1 つしか設定できません。Hierarchy ウィンドウで、あるゲームオブジェクトをデフォルトの親に設定し、それから、同じシーンにある別のゲームオブジェクトをデフォルトの親にすると、2 つ目のゲームオブジェクトのみがデフォルトの親になります。
Hierarchy ウィンドウに複数のシーンがあり、各シーンにデフォルトの親を設定している場合、シーンビューにゲームオブジェクトをドラッグすると、Unity はアクティブなシーンのデフォルトの親であるゲームオブジェクトを新しいゲームオブジェクトの親にします。
ショートカットマネージャー で、デフォルトの親のキーボードショートカットを設定することができます。Shortcuts ウィンドウで、Hierarchy View > Set as Default Parent にキーボードショートカットを割り当てます。デフォルトの親が設定されていない場合、Hierarchy ウィンドウでゲームオブジェクトを選択すると、そのショートカットを使ってそのゲームオブジェクトをデフォルトの親にすることができます。デフォルトの親が設定されている場合は、ショートカットを使って、デフォルトの親が設定されているゲームオブジェクトからデフォルトの親のステータスを解除します。
シーン表示アイコンをクリックすると、アプリケーション内のゲームオブジェクト表示を変えずに、シーンビュー 内のゲームオブジェクトの表示/非表示を切り替えることができます。
シーンのオブジェクト選択アイコンを選択すると、編集中にシーンビューでゲームオブジェクトの選択可/不可が切り替わります。
これらの制御は、特定のゲームオブジェクトを表示して選択するのが難しい大きなシーンや複雑なシーンでの作業に便利です。
詳細は、シーンの表示/非表示 と シーンの選択可/不可 を参照して下さい。
デフォルトでは、Hierarchy ウィンドウでは、ゲームオブジェクトが作成された順に表示されます。選択したゲームオブジェクトをシーン内で上下にドラッグすることで、ゲームオブジェクトの順番を変更することができます。
ゲームオブジェクトを英数字順にソートするには、以下のようにします。
これを有効にすると、Hierarchy ウィンドウにアイコンが表示され、Transform ソート (デフォルト) か Alphabetic (英数字順) ソートを切り替えることができます。
Hierarchy ウィンドウ上で一度に複数のシーンを開くことも可能です。詳しくは 複数シーンの編集 を参照してください。
シーン内のプレハブインスタンスを編集すると、階層内の親ゲームオブジェクトの横にインジケーターが表示されます。このインジケーターは、その子ゲームオブジェクトにデフォルト以外のオーバーライド値があるプレハブをハイライト表示します。Hierarchy ウィンドウから直接 Overrides ドロップダウン を開くには、オーバーライドインジケーターをクリックします。オーバーライドインジケーターは、マージンの左側に青い線で表示され、Inspector ウィンドウのインスタンスオーバーライドと同じものです。詳細については、Instance オーバーライド を参照してください。