Параметры
from | Вектор, по которому измеряется угловая разность. |
to | Вектор, по которому измеряется угловая разность. |
Возвращает
float Угол без знака в градусах между двумя векторами.
Описание
Получает беззнаковый угол в градусах между from
и to
.
Возвращенный угол представляет собой беззнаковый угол между двумя векторами.
Примечание. Возвращаемый угол всегда будет находиться в диапазоне от 0 до 180 градусов, поскольку метод возвращает наименьший угол между векторами. То есть он никогда не вернет угол рефлекса. Углы рассчитываются от точки начала координат (0,0,0) в качестве вершины.
Смотрите также: функция SignedAngle.
using UnityEngine;
public class Vector : MonoBehaviour
{
//Use these to get the GameObject's positions
Vector2 m_MyFirstVector;
Vector2 m_MySecondVector;
float m_Angle;
//Вы должны назначить этим двум GameObjects в Инспекторе
public GameObject m_MyObject;
public GameObject m_MyOtherObject;
void Start()
{
//Инициализировать вектор
m_MyFirstVector = Vector2.zero;
m_MySecondVector = Vector2.zero;
m_Angle = 0.0f;
}
void Update()
{
// Получить позицию первого GameObject
m_MyFirstVector = new Vector2(m_MyObject.transform.position.x, m_MyObject.transform.position.y);
// Получить позицию второго GameObject
m_MySecondVector = new Vector2(m_MyOtherObject.transform.position.x, m_MyOtherObject.transform.position.y);
// Найти угол для двух векторов
m_Angle = Vector2.Angle(m_MyFirstVector, m_MySecondVector);
// Рисуем линии от исходной точки до векторов
Debug.DrawLine(Vector2.zero, m_MyFirstVector, Color.magenta);
Debug.DrawLine(Vector2.zero, m_MySecondVector, Color.blue);
// Значения векторов и углов в консоли
Debug.Log("MyFirstVector: " + m_MyFirstVector);
Debug.Log("MySecondVector: " + m_MySecondVector);
Debug.Log("Angle Between Objects: " + m_Angle);
}
void OnGUI()
{
// Вывести угол, найденный выше
GUI.Label(new Rect(25, 25, 200, 40), "Angle Between Objects" + m_Angle);
}
}