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

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

public static
def Atan2(y as float,
x as float)
as float

Returns the angle in radians whose Tan is `y/x`

.

Return value is the angle between the x-axis and a 2D vector starting at zero and terminating at (x,y).

Note that this function takes account of the cases where x is zero and returns the correct angle rather than throwing a division by zero exception.// 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); } }

import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public target as Transform def Update() as void: relative as Vector3 = transform.InverseTransformPoint(target.position) angle as float = (Mathf.Atan2(relative.x, relative.z) * Mathf.Rad2Deg) transform.Rotate(0, angle, 0)