public void GetAngle(Vector3 a, Vector3 b)
{
b.x -= a.x;
b.y -= a.y;
if (b.x == 0 && b.y == 0)//目标点在自身点一致
{
//return 0;
}
else if (b.x > 0 && b.y > 0)//目标点在自身点右上
{
float angle = Vector3.Angle(b, new Vector3(1, 0, 0));
//Debug.Log("右上" + angle);
if (angle > 0 && angle < 45)
{
}
else if (angle>= 45)
{
}
}
else if (b.x > 0 && b.y == 0)//目标点在自身点右
{
}
else if (b.x > 0 && b.y < 0)//目标点在自身点右下
{
float angle = Vector3.Angle(b, new Vector3(1, 0, 0));
//Debug.Log("右下" + angle);
if (angle > 0 && angle < 45)
{
}
else if (angle >= 45)
{
}
}
else if (b.x == 0 && b.y > 0)//目标点在自身点上
{
}
else if (b.x == 0 && b.y < 0)//目标点在自身点下
{
Rest();
//transform.LookAt(RandPos);
}
else if (b.x < 0 && b.y < 0)//目标点在自身点左下
{
float angle = Vector3.Angle(b, new Vector3(-1, 0, 0));
//Debug.Log("左下" + angle);
if (angle > 0 && angle < 45)
{
}
else if (angle >= 45)
{
}
}
else if (b.x < 0 && b.y == 0)//目标点在自身点左
{
}
else if (b.x < 0 && b.y > 0)//目标点在自身点左上
{
float angle = Vector3.Angle(b, new Vector3(-1, 0, 0));
//Debug.Log("左上" + angle);
if (angle > 0 && angle < 45)
{
}
else if (angle >= 45)
{
}
}
}
已知两个点求所在象限并且角度
最新推荐文章于 2023-04-17 16:16:49 发布
本文介绍了一个Unity脚本函数GetAngle,该函数接受两个三维向量作为参数,并根据它们之间的相对位置计算角度。通过判断目标点相对于自身点的位置,可以确定目标点位于哪个象限,并使用Vector3.Angle来获取相应的角度。
7079

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



