취준/기술면접

로컬 스페이스(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() : 월드 스페이스 방향 벡터 -> 로컬 스페이스 방향 벡터