下のコードではターゲットの方向に向くとき、Z軸周りのみ回転させています。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Sample : MonoBehaviour
{
public Transform target;
void Update()
{
// ターゲットまでのベクトルを求める
Vector3 direction = target.position - transform.position;
// 角度を求める。
float angle = Mathf.Atan2(direction.x, direction.y);
//オブジェクトをQuaternion.AngleAxisを使って回転させる。
transform.rotation = Quaternion.AngleAxis(angle * Mathf.Rad2Deg, Vector3.back);
}
}
Quaternion.FromToRotationを使うとX軸、Y軸、Z軸周りで回転させることができます。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Sample : MonoBehaviour
{
public Transform target;
void Update()
{
// ターゲットまでのベクトルを求める
Vector3 direction = target.position - transform.position;
//オブジェクトを Quaternion.FromToRotationを使って回転させる。
transform.rotation = Quaternion.FromToRotation(Vector3.up, direction);
}
}