Unity - 절대 좌표, 상대 좌표

김도현·2023년 9월 27일
0

TIL

목록 보기
42/76

1. 절대 좌표, 상대 좌표란?

1) 절대 좌표(= 월드 좌표)

Unity 가상 공간의 기준인 좌표(기준이 절대 변하지 않아서 절대 좌표입니다.)

2) 상대 좌표(= 로컬 좌표)

내가 정한 상대가 기준이 좌표(기준이 상대 기준이기 때문에 상대 좌표입니다.)

2.사용법

1) 절대 좌표 사용법

  • transform.position으로 내가 있는 위치를 절대 좌표로 표시 해줍니다.
  1. 객체를 절대적인 좌표로 이동시키는 방법
transform.position = new Vector3(0,0,1);

객체가 월드 기준 0,0,1 의 위치리 이동됩니다.

이를 이용하여 이동할 수 있습니다.

transform.position += new Vector3(0,0,1);

현재 위치에서 0, 0, 1을 더해 z축으로 1만큼 이동합니다.

절대 좌표 -> 상대 좌표
InverceTransformDirection

Transform.InverseTransformPoint

  • 반환된 위치는 스케일의 영향을 받습니다.
  • 방향 벡터를 처리하는 경우에 사용합니다.

2) 상대 좌표 사용법

  • transform.localPosition으로 상대 좌표를 표시할 수 있습니다.
    • 일반적으로 사용되는 절대 좌표계 앞에 local을 붙이시면 됩니다. 예시) transform.local@@@
  1. 객체를 상대적인 좌표로 이동시키는 방법
Transform.Translate(new Vector3(0,0,1));

내 좌표 기준으로 0,0,1을 이동합니다.

상대좌표 -> 절대 좌표
TransformDirection

  • 이 연산은 스케일이나 위치에 영향을 받지 않는다.
  • 반환된 백터는 |입력값|과 같은 길이를 갖는다.

TransformPoint

  • 반환된 위치는 스케일의 영향을 받습니다.
  • 방향 벡터를 처리하는 경우에 사용합니다.

TransformVector

  • 이 연산은 transform의 위치에 영향을 받지 않지만 스케일에 영향을 받습니다.
  • 반환된 벡터의 길이가 벡터와 다를 수 있습니다.

0개의 댓글