취준/기술면접
로컬 스페이스(Local Space)와 월드 스페이스(World Space)
빵어
2024. 11. 16. 20:31
로컬 스페이스와 월드 스페이스는 좌표계의 기준이 어디에 있는지 나타낸다
로컬 스페이스
Local Space
오브젝트의 좌표가 자신을 기준(로컬 축)으로 정의
오브젝트에 부모가 있을 경우, 부모의 트랜스폼이 기준
- 부모가 있을 경우, 부모 오브젝트 트랜스폼에 상대적인 좌표를 갖게 된다.
- 예) 부모의 좌표가 0, 1, 0일 때 자식이 1만큼 x축으로 움직이면 자식 오브젝트의 좌표는 1, 1, 0
Transform.localPosition
Transform.localRotation
Transform.localScale 등을 통해 조작
오브젝트 자신 기준으로 상대적 변화를 다룰 때 주로 사용
월드 스페이스
World Space
오브젝트의 좌표가 씬 전역 기준(월드 축)으로 정의
절대적인 좌표계를 기준으로 오브젝트의 트랜스폼이 정의
Transform.position
Transform.rotation 등을 통해 조작
월드(전역) 좌표를 기준으로 오브젝트를 다룰 때 사용
이동 예시
로컬 이동
transform.Translate(Vector3.forward * Time.deltaTime);
월드 이동
transform.position += Vector3.forward + Time.deltaTime;
스페이스 변환
코드 상에서 로컬 스페이스와 월드 스페이스를 변환할 수 있다.
Transform.TransformPoint() : 로컬 스페이스 좌표 -> 월드 스페이스 좌표
Transfomr.InverseTransformPoint() : 월드 스페이스 좌표 -> 로컬 스페이스 좌표
TransformDirection() : 로컬 스페이스 방향 벡터 -> 월드 스페이스 방향 벡터
Transform.InverseTransformDirection() : 월드 스페이스 방향 벡터 -> 로컬 스페이스 방향 벡터