目次

038 特定のGameObjectを見続けるカメラの実装

概要

Transform.Rotateを使って、特定のGameObjectを見続ける様なカメラを実装します。

ソースコード

public class CameraScript : MonoBehaviour
{
	GameObject target;
 
	void Start ()
	{
		// ターゲットとなるGameObjectの取得
		target = GameObject.FindGameObjectWithTag("playerTag");
	}
 
	void LookTarget ()
	{
		Vector3 relative = transform.InverseTransformPoint( target.transform.position );
		float angle = Mathf.Atan2(relative.x, relative.z) * Mathf.Rad2Deg;
		transform.Rotate( 0, angle, 0 );
	}
 
	void Update ()
	{
		LookTarget();
	}
}

又はUpdate関数内でtransform.LookAtを使います。こちらの方が簡単。

transform.LookAt( target.transform.position );