0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

2Dゲーム制作でマウスの方向にキャラクターを向かせたい

Posted at

1,Unityの2Dでキャラクターの正面をマウスの方向に向けるには?

まず必要なのはキャラクターの位置とマウスの位置、キャラクターの位置はオブジェクトクラスから取って取れますせす、次にマウスの位置を取るには

Input.mousePosition;

これでまずマウスの位置を取れましたが、これはスクリーン座標ですのでワールド座標に変換してあげないと使えませんそうするために、そうするためにカメラクラスを持って来てScreenToWorldPoint関数を使ってワールド座標にします。

Vector2 mousePos; camera.ScreenToWorldPoint(Input.mousePosition);

ワールド座標のマウスが取れました、これでキャラクターの位置とマウスの位置が揃いました
次に二つの位置の距離を取ります

Vector2 lookDir = mousePos - Character.position;

そしてこれでどうやってやるのかというと、Matf.Atan2という関数で距離を使って角度を求められます。

float angle = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg - 90f;

これでマウスの方向にキャラクターの正面を向くように出来ました!
簡単に説明するとMathf.Atan2でラジアンが変えてくるのでMathf.Rad2Degをかけて度に変えます、そして
-90度を引いてやって正面を向かせます。
これでマウスの方向にキャラクターを向かせることができました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?