【Unity】回転の軸と角度を取得する

投稿者: | 2021-04-10

Quaternion.ToAngleAxisメソッドを使うと、オブジェクトの回転の軸と角度を簡単に取得できます。

まず、角度と軸のための変数を、このメソッドの引数にoutキーワードを前置きして渡します。渡す前に変数を初期化する必要はなく、outキーワードに続けて変数を宣言できます。

using UnityEngine;

public class RotateTest3 : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        transform.rotation.ToAngleAxis(out float angle, out Vector3 axis);

        Debug.Log("角度:" + angle + " 軸:" + axis);
        Debug.Log(Quaternion.AngleAxis(angle, axis).eulerAngles.ToString("F4"));
    }

}

これで、このCubeが軸(-0.5, -0.6, 0.6)に沿って、約37.5度回転した状態であることがわかります。

x、y、zの角度もインスペクタの値と同じです。

345.8875 – 360 = -14.1125
334.1406 – 360 = -25.8594

コメントを残す

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