유니티 오브젝트 바라보게 하기

 

1. 3D에서 타겟방향으로 다가가면서 회전함

// 타겟 방향으로 회전함
transform.LookAt(transform);

// 타겟 방향으로 다가감
transform.position += transform.forward * speed * Time.deltaTime;

 - y축으로만 회전시키고 싶다면 xyz 분리해서 0을 넣으면 됨

 

2. 2D에서 타겟방향으로 다가가면서 회전함

Vector3 dir = target.position - transform.position;

// 타겟 방향으로 다가감
transform.position += dir * speed * Time.deltaTime;          

// 타겟 방향으로 회전함
float angle = Mathf.Atan2(dir.y,dir.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);

 

3. LookRotation 구하기

public GameObject target;

Vector3 l_vector = target.transform.position - transform.position;
transform.rotation = Quaternion.LookRotation(l_vector).normalized;

 

 

댓글

Designed by JB FACTORY