うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Unity】Quaternion の角度差分を計算する

    public static float GetAngleDiff(Quaternion a, Quaternion b)
    {
        var va = a * Vector3.up;
        var vb = b * Vector3.up;
 
        var angleA = Mathf.Atan2(va.x, va.z) * Mathf.Rad2Deg;
        var angleB = Mathf.Atan2(vb.x, vb.z) * Mathf.Rad2Deg;
 
        var diff = Mathf.DeltaAngle(angleA, angleB);
        return diff;
    }