Возвращает угол в радианах, тангенс (Tan) которого равен y/x
.
Возвращает значение угла между осью X и 2D вектором, начало которого в нуле, а конец
в (x, y).
Обратите внимание, что эта функция учитывает случаи, когда x равен нулю и возвращает правильный угол, а не выдаёт исключение деления на ноль.
// Usually you use transform.LookAt for this. // But this can give you more control over the angle
var target : Transform;
function Update () { var relative : Vector3 = transform.InverseTransformPoint(target.position); var angle : float = Mathf.Atan2(relative.x, relative.z) * Mathf.Rad2Deg; transform.Rotate (0, angle, 0); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Transform target; void Update() { Vector3 relative = transform.InverseTransformPoint(target.position); float angle = Mathf.Atan2(relative.x, relative.z) * Mathf.Rad2Deg; transform.Rotate(0, angle, 0); } }