Unity 6.3
0 онлайн 67 гостей 3 в системе
Вход

Mathf.Atan2

Declaration

public static float Atan2(float y, float x);

Параметры

Параметр Описание
y Y-компонент входного вектора 2D.
x X-компонент входного вектора 2D.

Возвращаемое значение

поплавок Угол в радианах между векторами (x,y) и единичным вектором (1,0) в диапазоне [-Pi, Pi].

Описание

Возвращает угол в радианах, для которого Tan равно y/x.

Возвращаемое значение представляет собой угол между единичным вектором оси x (1, 0) и вектором 2D, начинающимся в нуле и заканчивающимся в (x,y).

Примечание: Эта функция учитывает случаи, когда x равно нулю, и возвращает правильный угол, а не делит на нулевой исключение.

Дополнительные ресурсы: Tan, Atan.

using UnityEngine;

public class ExampleClass : MonoBehaviour { public Transform target; public float turnSpeed = 2f; // higher = faster slerp

void Update() { if (!target) return;

// Compute desired yaw angle to target in local space Vector3 relative = transform.InverseTransformPoint(target.position); float angle = Mathf.Atan2(relative.x, relative.z) * Mathf.Rad2Deg;

// Build target rotation around global up (yaw only) Quaternion targetRotation = Quaternion.Euler(0f, transform.eulerAngles.y + angle, 0f);

// Smoothly rotate toward the target rotation transform.rotation = Quaternion.Slerp( transform.rotation, targetRotation, Time.deltaTime * turnSpeed ); } }