1.
float angle = Vector3.Angle (fromVector, toVector); //求出兩向量之間的夾角 Vector3 normal = Vector3.Cross (fromVector,toVector);//叉乘求出法線向量 angle *= Mathf.Sign (Vector3.Dot(normal,upVector)); //求法線向量與物體上方向向量點乘,結果為1或-1,修正旋轉方向
2.
Vector3 velocity = Quaternion.Inverse (transform.rotation)*destinationVector; //對目標向量進行反向旋轉,得到的新向量與z軸的夾角即為目標向量與當前物體方向的夾角 float angle = Mathf.Atan2 (velocity.x,velocity.z) * Mathf.Rad2Deg; //返回tan值為x/z的角的弧度,再轉化為度數。
3.
數學法:已知a,b兩個向量
cosθ=X; (X=(a*b)/(|a|*|b|))
然后求θ=arccosX c#里是Mathf.Acos(X);
