Unity

Transform(1) - 좌표

gcreators 2024. 9. 20. 17:19

게임오브젝트를 생성 한 후 인스펙터 창을 보면

필수적으로 들어와있는 컴포넌트가 있다.

바로 이 Transform이다

 

Transform에는 Position(위치), Rotation(회전), Scale(크기) 이 3가지에 관한 Vector(벡터)형식의 값을 저장하고 있다는 것을 지난 벡터에 관한 글에서 설명을 했다

 

벡터형식을 지니고 있기에 이 게임 오브젝트들의 위치를 벡터로 표현을 하게 되는데

이를 다른말로 게임오브젝트는 세계 좌표계(혹은 월드 좌표계 - World Coordinate)에 위치한다 라고 말하기도 한다.

 

유니티의 좌표계는 데카르트 좌표계 (Cartesian Coordinate System)를 사용하고 있는데 이는 프로그래머에게 있어서 중요하지 않으니 기억하지 않아도 되지만(나도 기억안할 거임)

 

이 좌표계라는 시스템의 특징으로는 

세 개의 축(x축, y축, z축)으로 구성되고 점은 (x, y, z) 형태로 표현된다는 것이다.

 

유니티의 게임 오브젝트는 (x, y, z)로 위치가 지정되며, 이는 세계 좌표계에서의 절대적인 위치를 나타내게 된다.

즉, Transform을 지니지 않은 오브젝트는 3차원공간에 존재할 수 없는 것이다. 그러니

필수적으로 게임오브젝트 객체 생성시 상속되는 컴포넌트가 바로 Transform이다.

 

객체의 위치는 세계 좌표계에서의 위치라고 말했는데

세계 좌표계는 객체의 기준에서 변하지 않는 절대적인 위치라면

 

객체의 기준에서 바라보는 로컬 좌표계도 존재한다

 

예를들어 내가 앞으로 가는 것이

북쪽이 될 수도 있고 남쪽이 될 수도 있는데

 

내가 북쪽으로 간다고 하면 북쪽으로 이동하는 것이 된다.

 

세계적인 관점에서의 동서남북은 정해져있는 것이고(월드 좌표)

내가 보는 관점에서의 앞뒤좌우는 그때그때 마다 다른것이다(로컬 좌표)

 

이 두가지의 좌표에 대한 기준을 이해를 하고 있어야 한다.

 

'Unity' 카테고리의 다른 글

Collision(충돌)  (0) 2024.09.23
Transform(2) - position  (0) 2024.09.20
충돌 처리(1) - AABB  (0) 2024.09.19
Inspector  (0) 2024.09.12
MonoBehaviour  (0) 2024.09.12