Version: 2022.1
public static float Angle (Vector3 from, Vector3 to);

参数

from 测量角度差的源向量。
to 测量角度差的目标向量。

返回

float 两个向量之间的角度(以度为单位)。

描述

Calculates the angle between vectors from and.

The angle returned is the angle of rotation from the first vector to the second, when treating these two vector inputs as directions.
Note: The angle returned will always be between 0 and 180 degrees, because the method returns the smallest angle between the vectors. That is, it will never return a reflex angle.

using UnityEngine;

public class AngleExample : MonoBehaviour { public Transform target;

// prints "close" if the z-axis of this transform looks // almost towards the target

void Update() { Vector3 targetDir = target.position - transform.position; float angle = Vector3.Angle(targetDir, transform.forward);

if (angle < 5.0f) print("Close"); } }

另请参阅:SignedAngle 函数。