1. 절대 좌표, 상대 좌표란?
1) 절대 좌표(= 월드 좌표)
Unity 가상 공간의 기준인 좌표(기준이 절대 변하지 않아서 절대 좌표입니다.)
2) 상대 좌표(= 로컬 좌표)
내가 정한 상대가 기준이 좌표(기준이 상대 기준이기 때문에 상대 좌표입니다.)
2.사용법
1) 절대 좌표 사용법
- transform.position으로 내가 있는 위치를 절대 좌표로 표시 해줍니다.
- 객체를 절대적인 좌표로 이동시키는 방법
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@@@
- 객체를 상대적인 좌표로 이동시키는 방법
Transform.Translate(new Vector3(0,0,1));
내 좌표 기준으로 0,0,1을 이동합니다.
상대좌표 -> 절대 좌표
TransformDirection
- 이 연산은 스케일이나 위치에 영향을 받지 않는다.
- 반환된 백터는 |입력값|과 같은 길이를 갖는다.
TransformPoint
- 반환된 위치는 스케일의 영향을 받습니다.
- 방향 벡터를 처리하는 경우에 사용합니다.
TransformVector
- 이 연산은 transform의 위치에 영향을 받지 않지만 스케일에 영향을 받습니다.
- 반환된 벡터의 길이가 벡터와 다를 수 있습니다.