1、
Vector3 d1 = transform.forward;
Vector3 d2 = new Vector3(0,3,0);
float angle = Vector3.Angle(d1, d2);
2、
Vector3 d1 = transform.forward;
Vector3 d2 = new Vector3(0,3,0);
float dot = Vector3.Dot(d1, d2.normalized); //d2.normalized向量归一化
float angle = Mathf.Acos(dot) * Mathf.Rad2Deg;
3、
Vector3 d1 = transform.forward;
Vector3 d2 = new Vector3(0,3,0);
Vector3 cross = Vector3.Cross(d1, d2.normalized);
float angle = Mathf.Asin(Vector3.Distance(Vector3.zero, cross)) * Mathf.Rad2Deg;
本文介绍了在Unity游戏开发环境中使用三种不同的方法来计算两个三维向量之间的角度。包括使用预定义的Angle方法、点积操作配合反余弦函数以及叉积结合反正弦函数的方法。

683

被折叠的 条评论
为什么被折叠?



