公開日:2023/05/25  更新日:2023/05/25

Unityのオブジェクトの親子関係

 Unityのゲームオブジェクトは親子関係を作ることが可能だ。親のゲームオブジェクトの位置・回転・大きさが変化すると子のゲームオブジェクトも影響を受けるようになる。
 ゲームオブジェクトやコンポーネントなどの用語がわからない場合、シーンビューの動かし方がわからない場合は以下の記事で確認するのがおすすめ。
ゲームオブジェクトとは
コンポーメントとは
シーンビューの操作

 親子関係にするやり方やルールなどの詳細について紹介していく。


Unityのオブジェクトの親子関係目次

親子関係にするやり方・ルール
ワールド座標とローカル座標
目次にもどる

親子関係にするやり方・ルール

 今回の説明ではCapsuleとSphereのゲームオブジェクトを使用して親子関係にする手順を説明する。
 例えば、シーンビューで以下のようにカプセル型のCapsuleの上に球型のSphereがくるように位置調整を行ってみよう。
Unityの画面の上にSphere、下にCapsuleがある
 その後、ヒエラルキー欄でSphereを選択しCapsuleへドラッグ&ドロップを行おう。
 Capsuleが親、Sphereが子となり、親子関係になる(ちなみに子を親の外に持っていけば親子関係を解除可能)。
Unityの画面の上にSphere、下にCapsuleがある
 Capsuleを移動させてみよう。Sphereも追従して動くのを確認できる。
Unityの画面の上にSphere、下にCapsuleがある
 Capsuleを回転させてみよう。SphereもCapsuleの向いた角度に合わせて位置が変化する。
Unityの2つのゲームオブジェクトの回転
 Capsuleを大きくしてみよう。Sphereもそれに合わせて大きくなる。
Unityの2つのゲームオブジェクトのサイズ変更
 だが、子であるSphereを移動・回転・サイズ変更しても親であるCapsuleは影響を受けない。
Unityのゲームオブジェクトの子を変更
 子がいるゲームオブジェクトは以下の位置に三角マークがつく。三角マークを押すことで子を開いたり子を閉じたりすることができる。
Unityのゲームオブジェクトの子を開閉する
 また、1つの親に対し複数の子を作ったり、子を親として更に子を作るといったことも可能なので覚えておこう。

目次にもどる

ワールド座標とローカル座標

 Unityのワールド座標は原点から見た座標である。原点とはX座標、Y座標、Z座標が(0,0,0)の位置を示す。
 ワールド座標と混同しがちなのがローカル座標である。これは親子関係を構築した際、子が親から見てどれだけ離れているかを示す座標である(子にとっては親が原点である)。

 例えばゲームオブジェクトのcubeを作成した(当然親子関係はない)。適当に動かした後、cubeのインスペクターを見てみるとTransformのPosition(位置)は(1,2,2)であった。
UnityのゲームオブジェクトのインスペクターのTransform確認
親だったり親子関係にないゲームオブジェクトについてはTransformのPosition(位置)に出た数値がワールド座標である。原点からどれだけ離れているかがわかる。

 一方で先ほど作成した親子関係のゲームオブジェクトのうち、子(Sphere)を選択してみる。子のインスペクターを見てみるとTransformのPosition(位置)は(0,2,0)であった。
Unityのゲームオブジェクトの子のインスペクターのTransform確認
子のゲームオブジェクトについてはTransformのPosition(位置)に出た数値がローカル座標である。親からどれだけ離れているかがわかる。

 座標(位置つまりPosition)だけでなく、Transformの回転(Rotation)や大きさ(Scale)についてワールドとローカルが存在する。

 ワールドとローカルはUnity初心者が勘違いしやすい要素なので、しっかり覚えておいてほしい。
Unityの基礎まとめへ戻る

page top