Vector3.Angle

介绍

Vector3.Angle是Unity中用于计算两个向量之间的夹角的函数。这个函数返回的夹角是以度数为单位的,取值范围是0到180度。

方法

Vector3.Angle函数的方法如下:

public static float Angle(Vector3 from, Vector3 to);

参数说明:

  • from:第一个向量,类型为Vector3。
  • to:第二个向量,类型为Vector3。

返回值:

  • 夹角,类型为float。

举例子

下面是一些常见的使用Vector3.Angle函数的代码例子:

// 计算两个向量的夹角
Vector3 v1 = new Vector3(1, 1, 0);
Vector3 v2 = new Vector3(-1, 1, 0);
float angle = Vector3.Angle(v1, v2);
Debug.Log("夹角为:" + angle);

输出结果为:夹角为:90

// 判断两个向量是否处于同一方向
Vector3 v3 = new Vector3(1, 0, 0);
Vector3 v4 = new Vector3(2, 0, 0);
float angle2 = Vector3.Angle(v3, v4);
if(angle2 == 0 || angle2 == 180)
{
    Debug.Log("两个向量处于同一方向");
}
else
{
    Debug.Log("两个向量不处于同一方向");
}

输出结果为:两个向量处于同一方向

// 在3D空间中,计算一个物体的朝向与另一个物体的朝向之间的夹角
Transform target1 = GameObject.Find("Target1").transform;
Transform target2 = GameObject.Find("Target2").transform;
Vector3 direction1 = target1.forward;
Vector3 direction2 = target2.forward;
float angle3 = Vector3.Angle(direction1, direction2);
Debug.Log("朝向夹角为:" + angle3);

输出结果为:朝向夹角为:45

猜你喜欢

转载自blog.csdn.net/qq_20179331/article/details/130894306
今日推荐