【Unity3D】計算二維向量夾角(-180到180)


在Unity3D中,有時候我們需要計算二維向量的夾角。二維向量夾角一般在0~180度之前,可以直接調用Vector2.Angle(Vector2 from, Vector2 to)來計算。

但是在有些場景,我們需要-180~180度的夾角,此時可以用下面的腳本進行計算:

1     float VectorAngle(Vector2 from, Vector2 to)
2     {
3         float angle;
4        
5         Vector3 cross=Vector3.Cross(from, to);
6         angle = Vector2.Angle(from, to);
7         return cross.z > 0 ? -angle : angle;
8     }

上述腳本利用了向量叉乘的性質,注意Unity3D中的坐標系是左手系,故判斷叉乘方向要用左手定則。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM