ツールバーの使い方
-トランスフォームギズモトグル編-
概要
今回はツールバーのトランスフォームギズモトグルの説明をします。 トランスフォームギズモトグルには「Pivot/Centerボタン」と 「Global/Localボタン」があります。
Pivot/Center
Pivot/Centerボタンは押すごとにPivotとCenterが交互に切り替わります。 親子関係になっているゲームオブジェクトがこのボタンの効果対象になり、 ボタンによって移動や回転で表示されている基準点(矢印や円状の線等)の位置が異なります。
親子関係
Unityではゲームオブジェクトに親子関係を持たせることができます。 親子関係になっているゲームオブジェクトはHierarchy上で以下のように表されています。 上の赤枠で囲われたゲームオブジェクトの親子関係は以下の通りです。 Cubeは親は「無し」、子供は「Sphere」 Sphereの親は「Cube」で子供は「Capsule」 Capsuleの親は「Cube」で子供は「無し」
親子関係の特性
親子関係になったオブジェクトの特性は「親の影響を子供も受ける」 「子供が相対座標になる」の2つがあげられます。
親の影響を子供も受ける
親子関係になっているゲームオブジェクトは親が移動や回転などを行うと その親に属している子供も同じように移動、回転が行われます。
子供が相対座標になる
子供のゲームオブジェクトは親からの相対座標になります。 (相対座標は特定の位置を原点(0,0)として座標が設定する座標のことです) 上の画像では親を持っているSphereと親を持っていないSphereの座標が 全く異なった値になっているのがわかると思います。 これは親なしが絶対座標(ワールド座標が原点(0,0))、 親ありが相対座標(親の座標が原点(0,0))で位置を設定しているからです。
Pivot
Pivotは基準点の表示が親の座標に表示されます。
Center
Centerは基準点の位置が選択されたゲームオブジェクトを親とする 全てのゲームオブジェクトの位置関係を考慮した中間の位置に表示されます。
Global/Local
Global/Localボタンはゲームオブジェクトの座標の軸を切り替えることができるボタンです。
Local
Localはゲームのオブジェクトの座標軸をローカル座標として扱います。 ローカル座標はゲームオブジェクト1つ1つで座標軸を持っており 回転などを使用して軸の向きを変更することができます。 上の画像でわかるように回転を行うことで座標軸の向きを変えることができます。 TransformToolsやスクリプトで座標を移動などを行った場合は、 現状の座標軸に沿って変更されます。
Global
Globalはゲームオブジェクトの座標軸をワールド座標として扱います。 ワールド座標は2Dや3D空間が持っている座標で1つだけです。 ゲームオブジェクトをどれだけ回転させたとしても ワールド座標の座標軸が変化することはありません。 上の画像でわかるように回転を行ったとしてもゲームオブジェクトの 座標軸はワールド座標基準になっているので変化はありません。 TransformToolsやスクリプトで座標を移動などを行った場合は、 ワールド座標の座標軸に沿って変更されます。