【Unity】Mathf.Atan2で取得する角度を上向き0度スタートで時計回りにする【2D】
以前、2点間の角度を求めるスクリプトを紹介しました。
ただし、この記事のやり方だと
・目標点が始点から見て真右にあるときに角度が0°
・反時計回りに角度増加
となってしまいます。
これだと、「普通、目標点が真上にあるときが0°でしょ?」とか「なんで時計回りじゃないの?」みたいな感じで違和感を覚えるかもしれません。たぶん。
というわけで、本記事ではそんな違和感を解消するために、
・目標点が始点から見て真上にあるときに角度が0°
・時計回りに角度増加
となるスクリプトを紹介します。
スクリプトはこんな感じ。
以前のスクリプトと異なるのはMathf.Atan2に渡す引数ぐらいです。
以前は第一引数にy座標の差、第二引数にx座標の差を渡しましたが、今回はこの2つの引数を入れ替えて、第一引数にx座標の差、第二引数にy座標の差を渡します。
これで、目標点が真上にあるときに角度0°に、そして、時計回りに角度が増加していきます。
ついでに角度の範囲が0~360になるように調整してます。(29~32行目)
Textで角度をリアルタイムに表示してます。