はかせのラボ

私の頭の中を書いていく雑記ブログです

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

あいさつ

どうも、はかせです。
今回はUnityのワールド座標とローカル座標について
書いてみます。

ワールド座標とは

まんまワールドの座標です。
そのオブジェクトがワールドのどこにいるかを表します。
transform.positionとかで返ってくるのはワールド座標になります。

ローカル座標とは

これはGameObjectがそれぞれがもっている座標になります。
何かの子要素になった場合親が原点となります。
transform.localPositionなどで取得可能です。

なぜ座標が複数種類あるのか?

正直Unity触りたての時は全く分かりませんでした。
全部ワールド座標でやってくれたら色々楽なのにーなんて思ってた時期もありました。

ただ存在するということはどこかに何かしらのニーズがあるから存在するわけです。
ワールドとローカルの違いは特定の親オブジェクトがいるかどうかです。
(ただ座標は全てのオブジェクトが持っているのでワールド座標はワールドの子要素としてのローカル座標とも言えなくない)

特定の親がいてそこを中心として動くとき、
例えば追従カメラとかを作るときだとローカル座標が使い勝手いいです。
要は親を追従するわけですから親からのオフセット=ローカル座標みたいに使えるわけです。

逆に私はそういったオフセット的な使い方以外でローカル座標を使った記憶がありません。

あとがき

今回は私が結構混同しがちなワールド座標とローカル座標でした。
ワールド座標は否が応でも使わなきゃ無理なんでわかるんですけど
ローカル座標って意識して使わないと使わないんですよね・・・
(そもそも親子関係をあまり作らない)

私が今回上げた様な使い方以外にも
ローカル座標の使い道があれば是非教えてくださいm(__)m

それでは今回はこの辺でノシ