Version: 2020.2
public static float Angle (Vector2 from, Vector2 to);

参数

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

描述

返回 fromto 之间的无符号角度(以度为单位)。

返回的角度为两个向量之间的无符号锐角。也就是说,使用两个向量之间的两个可能角度中的较小者。结果永远不会超过 180 度。

另请参阅:SignedAngle 函数。

using UnityEngine;

public class Vector2Angle : MonoBehaviour { //Use these to get the GameObject's positions Vector2 m_MyFirstVector; Vector2 m_MySecondVector;

float m_Angle;

//You must assign to these two GameObjects in the Inspector public GameObject m_MyObject; public GameObject m_MyOtherObject;

void Start() { //Initialise the Vector m_MyFirstVector = Vector2.zero; m_Angle = 0.0f; }

void Update() { //Fetch the first GameObject's position m_MyFirstVector = m_MyObject.transform.position; //Fetch the second GameObject's position m_MySecondVector = m_MyOtherObject.transform.position; //Find the angle for the two Vectors m_Angle = Vector2.Angle(m_MyFirstVector, m_MySecondVector); }

void OnGUI() { //Output the angle found above GUI.Label(new Rect(25, 25, 200, 40), "Angle Between Objects" + m_Angle); } }