Unity ワールド座標とローカル座標
あいさつ
どうも、はかせです。
今回はUnityのワールド座標とローカル座標について
書いてみます。
ワールド座標とは
まんまワールドの座標です。
そのオブジェクトがワールドのどこにいるかを表します。
transform.positionとかで返ってくるのはワールド座標になります。
ローカル座標とは
これはGameObjectがそれぞれがもっている座標になります。
何かの子要素になった場合親が原点となります。
transform.localPositionなどで取得可能です。
なぜ座標が複数種類あるのか?
正直Unity触りたての時は全く分かりませんでした。
全部ワールド座標でやってくれたら色々楽なのにーなんて思ってた時期もありました。
ただ存在するということはどこかに何かしらのニーズがあるから存在するわけです。
ワールドとローカルの違いは特定の親オブジェクトがいるかどうかです。
(ただ座標は全てのオブジェクトが持っているのでワールド座標はワールドの子要素としてのローカル座標とも言えなくない)
特定の親がいてそこを中心として動くとき、
例えば追従カメラとかを作るときだとローカル座標が使い勝手いいです。
要は親を追従するわけですから親からのオフセット=ローカル座標みたいに使えるわけです。
逆に私はそういったオフセット的な使い方以外でローカル座標を使った記憶がありません。
あとがき
今回は私が結構混同しがちなワールド座標とローカル座標でした。
ワールド座標は否が応でも使わなきゃ無理なんでわかるんですけど
ローカル座標って意識して使わないと使わないんですよね・・・
(そもそも親子関係をあまり作らない)
私が今回上げた様な使い方以外にも
ローカル座標の使い道があれば是非教えてくださいm(__)m
それでは今回はこの辺でノシ