Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Quaternion.LookRotation

static function LookRotation(forward: Vector3, upwards: Vector3 = Vector3.up): Quaternion;
static Quaternion LookRotation(Vector3 forward, Vector3 upwards = Vector3.up);
static def LookRotation(forward as Vector3, upwards as Vector3 = Vector3.up) as Quaternion

Parameters

forwardThe direction to look in.
upwardsThe vector that defines in which direction up is.

Description

Creates a rotation with the specified forward and upwards directions.

Returns the computed quaternion. If used to orient a Transform, the Z axis will be aligned with forward/ and the Y axis with upwards if these vectors are orthogonal. Logs an error if the forward direction is zero.

	// Most of the time you can use:
	// transform.LookAt instead

var target : Transform; function Update () { var relativePos = target.position - transform.position; var rotation = Quaternion.LookRotation(relativePos); transform.rotation = rotation; }

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public Transform target;
    void Update() {
        Vector3 relativePos = target.position - transform.position;
        Quaternion rotation = Quaternion.LookRotation(relativePos);
        transform.rotation = rotation;
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public target as Transform

	def Update() as void:
		relativePos as Vector3 = (target.position - transform.position)
		rotation as Quaternion = Quaternion.LookRotation(relativePos)
		transform.rotation = rotation

See Also: SetLookRotation.