【Unity】角度指定して回転させる

投稿者: | 2021-04-08

角度指定して回転させるには、Transform.Rotateメソッドを使います。

例えば、ワールドのY軸に沿って45度回転させたいときは、下のように各軸の角度とスペースを渡します。

transform.Rotate(0, 45, 0, Space.World);

RotationのY軸だけが変わりました。スペースを指定しないとローカルになります。

transform.Rotate(0, 45, 0);

軸を指定する

Rotateメソッドには、軸と角度を指定するオーバーライドもあります。第一引数の方向に沿って回転します。

transform.Rotate(Vector3.up, 45f, Space.World);

同様に軸を指定して回転値を得るQuaternion.AngleAxisメソッドがありますが、こちらは回転させるのに必要な値が得られるだけなので、そのまま代入しても思い通りに回転しません。

transform.rotation = Quaternion.AngleAxis(45, Vector3.up);

回転させるには、クォータニオンをかけ合わせて回転を合成します。

transform.rotation = Quaternion.AngleAxis(45, Vector3.up) * transform.rotation;

コメントを残す

メールアドレスが公開されることはありません。