Relative Rotation은 상대 회전을 말하고 부모가 있을 때 자식이 부모를 상대적으로 회전하는 것을 말한다.
transform.Rotate(0, 20.0f * Time.deltaTime, 0);
해당 지점을 중심으로 도는 함수이다.
transform.RotateAround(target.transform.position, Vector3.up, speed * Time.deltaTime);
Quternion q = transform.rotation; Vector3 e = q.eulerAngles; e.y = 0.0f; transform.eulerAngles = e;
y값은 빼고 움직이는 코드이다.
해당 대상의 방향으로 바라보는 것을 말한다.
[SerializeField] private GameObject[] target = new GameObject[2]; private GameObject lookTarget = null; private void Update() { if (Input.GetKeyDown(KeyCode.Alpha1)) lookTarget = target[0]; else if (Input.GetKeyDown(KeyCode.Alpha2)) lookTarget = target[1]; else if (Input.GetKeyDown(KeyCode.Alpha3)) lookTarget = null; if (lookTarget ==null) { transform.rotation = Quaternion.identity; return; } Vector3 targetPosition = lookTarget.transform.position; Vector3 position = transform.position; Vector3 direction = targetPosition - position; //타겟과 포지션의 거리 transform.rotation = Quaternion.LookRotation(direction.normalized, Vector3.up); //회전할 전방 벡터를 준다 Debug.DrawLine(position, position + transform.forward * direction.magnitude, Color.red); }