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;
'🌍 Unity > 유니티 프로그래밍' 카테고리의 다른 글
유니티 Touch로 카메라 회전 ( Unity Touch camera rotate ) (0) | 2019.02.03 |
---|---|
유니티 Unity Send Message (0) | 2019.01.09 |
유니티 로딩 화면 구현 ( Unity Loading system ) (0) | 2019.01.03 |
지연된 초기화 Lazy Initialization (0) | 2018.12.27 |
유니티 스크립터블 오브젝트 ( Unity Scriptableobject ) (0) | 2018.12.19 |