2. 親子関係
UnityとUnreal Engine両方にも親子関係を作ることができます。
親子関係
親子関係になるとどうなるのか
親子関係時の重心と向き
親子関係時のTransform表示
2. Unityの親子関係
2.1 親子関係
親子関係とは階層構造になっているゲームオブジェクトのことを指します。
Transformの値からゲームオブジェクトを操作したとき、親と相対的な位置になります。
Resetで位置を原点に回転、拡大縮小を無しにできます。
HierarchyにCubeを作成してSceneに置きます。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
HierarchyにSphereを作成してSceneに置きます。
どこかをクリックすると画像は閉じます
Cubeを選択して、InspectorにあるTransformを確認します。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
Transformのリセットは、右側の縦に三つの点があるアイコンを押してResetを選択するとLocation、Rotation、Scaleがリセットされます。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
次に親子関係を見てみます。
わかりやすいように、CubeのLocationをx:0,y:0.5,z:1、SphereのLocationをx:0,y:0.5,z:-2にします。
それからPlaneゲームオブジェクトを追加してリセットしておきます。
どこかをクリックすると画像は閉じます
LocationをそれぞれセットしたらHierarchyで、Sphereをクリックしてから、Cubeの項目にドラック&ドロップします。
どこかをクリックすると画像は閉じます
Cubeが親、Sphereが子の親子関係が作成できます。
どこかをクリックすると画像は閉じます
SphereのLocationを確認すると、Locationの値が変わっていることを確認します。
どこかをクリックすると画像は閉じます
親子関係はたくさんつくることもできます。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
2.2 親子関係になるとどうなるのか
親であるCubeを動かすと、子のSphereも追従します。
どこかをクリックすると画像は閉じます
親であるCubeのLocation
どこかをクリックすると画像は閉じます
子であるSphereのLocation
どこかをクリックすると画像は閉じます
親は子の影響を受けません。
2.3 親子関係時の重心と向き
Pivot 単体の中心位置
Center 全ての子を含めた中心位置
Global 現在の回転を考慮しない
Local 現在の回転を考慮する
Globalは選択するたびに矢印の回転をリセットする
親子関係の解除は、ドラッグ&ドロップで違うところに置きます。
Transformは親から見た相対的な値になります。
2.4 親子関係時のTransform表示
親から見た相対的な座標はローカル座標です。
親とは無関係な絶対座標はグローバル(ワールド)座標です。
Transformの回転、大きさもローカル表示になります。
2. UEの親子関係
2.1 親子関係
Place ActorsパネルからCubeをレベル上に置きます。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
続けてPlace ActorsからSphereをレベル上に置きます。
どこかをクリックすると画像は閉じます
Cubeを選択して、ワールドアウトライナの詳細パネルにあるTransformを確認します。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
Transform Locationのリセットは、右側にある曲がった矢印を押すとリセットされます。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
Rotation、Scaleも同様に、矢印を押すとリセットされます。試しにRotaion、Scaleの値を適当に変えます。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
矢印を押すとリセットされます。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
TransformのLocation、Rotation、Scale全てをリセットする機能はないようです。
次に親子関係を見てみます。
わかりやすいように、CubeのLocationをx:0,y:0,z:70、SphereのLocationをx:0,y:-200,z:0にします。
どこかをクリックすると画像は閉じます
Locationをそれぞれセットしたらワールドアウトライナで、Sphereをクリックしてから、Cubeの項目にドラック&ドロップします。
どこかをクリックすると画像は閉じます
Unityと同じようにCubeが親、Sphereが子の親子関係が作成できます。
どこかをクリックすると画像は閉じます
SphereのLocationを確認しますと、Locationの値が変わっていないことを確認します。
どこかをクリックすると画像は閉じます
また、親子関係はたくさんつくることもできます。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
2.2 親子関係になるとどうなるのか
親であるCubeを動かすと、子のSphereも追従します。
どこかをクリックすると画像は閉じます
親であるCubeのLocation
どこかをクリックすると画像は閉じます
子であるSphereのLocation
どこかをクリックすると画像は閉じます
Unityと同様に親は子の影響を受けません。
2.3 親子関係時の重心と向き
Unityのような中心位置を変更するCenter機能をUEで使う場合は、親と子を選択してから右クリック > Pivot > Center On Selectionを選びます。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
次にローカル座標やグローバル座標の変更についてみていきます。
いまレベル上にある親Cubeを選択します。
どこかをクリックすると画像は閉じます
そしてビューポートディスプレィの右上にある縦に並んでいるアイコンの左から4番目にある地球儀の形をしたアイコンがあります。いまはグローバル座標になっています。
どこかをクリックすると画像は閉じます
これをローカル座標に変更するために、地球儀アイコンをクリックします。すると、Cube状のアイコンに変わります。これでローカル座標に変更されます。
どこかをクリックすると画像は閉じます
試しに、ローカル座標になっている状態で親CubeのRotation xを30に変更します。
そうすると、ローカル座標に基づいて回転を考慮していることがわかります。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
グローバル座標に変更します。
今度は回転を考慮しないことがわかります。
どこかをクリックすると画像は閉じます
親子関係の解除は、Unityと同じく、子を選択して違うところに置くと解除されます。
どこかをクリックすると画像は閉じます
どこかをクリックすると画像は閉じます
2.4 親子関係時のTransform表示
Unityと同じように、CubeとSphereそれぞれのLocation、Rotation、Scaleをリセットしてから、UEのスケールに合わせて、CubeのLocationをx:0, y:100, z:70、SphereのLocationをx:0, y:300, z:60にします。
どこかをクリックすると画像は閉じます
CubeのLocation
どこかをクリックすると画像は閉じます
SphereのLocation
どこかをクリックすると画像は閉じます
この状態から、SphereをCubeの子にします。
どこかをクリックすると画像は閉じます
子になったShpereのLocationを確認します。
子のSphereのLocation yの値が200になっていることがわかります。これは、親からみた相対的な位置(ローカル座標)になっていることがわかります。
どこかをクリックすると画像は閉じます
🔗 参考リンク
ヒストリア
[UE4]トランスフォーム関係の注意
https://historia.co.jp/archives/6288/