Version: 5.4 (switch to 5.5b)
  • C#
  • JS

Script language

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


Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.



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


forward Vector3(0, 0, 1) と同じ意味
upwards Vector3(0, 1, 0) と同じ意味


指定された forwardupwards 方向に回転します。

計算したクォータニオンを返します。 Transform の方向変更に使用される場合は、Z 座標は forward と、 Y 座標は upwards と一直線になるよう配置されます。これらのベクトルは垂直に交差していると仮定されます。 forward が 0 の場合は、ログにエラーが記録されます。

	// 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; } }

See Also: SetLookRotation.