나만의 작은 도서관

[TIL][C++] 251001 MMO 서버 개발 108일차: [언리얼] 3D 좌표축에 대해 알게 된 것 + 유니티의 단위는 1M, 언리얼의 단위는 1cm 본문

Today I Learn

[TIL][C++] 251001 MMO 서버 개발 108일차: [언리얼] 3D 좌표축에 대해 알게 된 것 + 유니티의 단위는 1M, 언리얼의 단위는 1cm

pledge24 2025. 10. 1. 21:14
주의사항: 해당 글은 일기와 같은 기록용으로, 다듬지 않은 날것 그대로인 글입니다. 

[언리얼] 3D 좌표축에 대해 알게 된 것

 

좌표축의 색깔 RGB는 XYZ와 순서대로 대응된다.

  • 아무 생각 없이 바라보다가 알게 된 사실이다. X축은 RGB의 첫 번째인 R, Y축은 RGB의 두 번째인 G, Z 축은 RGB의 세 번째인 B와 대응된다.
  • 비단 언리얼뿐만 아니라 3D 좌표축을 표현할 때 전부 이렇게 표현하는 듯하다.

 

왼손 좌표계 오른손 좌표계

  • 3D 공간을 표현하는 데에 필요한 축의 개수는 총 3개가 있다. 각 축은 원점을 기준으로 양의 방향(+)과 음의 방향(-)이 존재하는데, 어느 방향을 양의 방향으로 할 지에 따라 총 8가지(2^3)의 서로 다른 좌표계를 만들어 낼 수 있다.
  • 왼손 좌표계와 오른손 좌표계는 이 8가지 종류 중 하나로, 각각 왼손과 오른손의 세 손가락으로 좌표계를 표현할 수 있기에 왼손 좌표계, 오른손 좌표계라는 이름이 붙었다. (표현하는 방법은 위 그림을 참조)
    • (참고로 손가락의 방향이 양의 방향이다.)

 

높이를 표현하는 축에 따른 좌표계

  • 세 축의 양의 방향을 결정했음에도 높이를 표현하는 축을 x, y, z 축들 중 무엇으로 할 것인지에 따라 좌표계의 종류가 나뉜다. 이렇게 갈리는 종류들은 “축 이름-up” 으로 표현되며, 들어간 축이 높이를 표현하는 축임을 의미한다.
    • 예를 들어 Y-up 좌표계라고 한다면 Y축이 높이를 표현하는 축인 좌표계임을 의미한다.

 

종류에 따른 3D 좌표계 분류

  • 현대에 사용하는 3D 좌표계 축은 왼손 좌표계이냐 오른손 좌표계이냐로 한 번 갈리고, 높이를 표현하는 축이 z 축이냐, y축이냐에 따라 한 번 갈린다. 그림으로 알아보자면 위와 같이 사용된다.

 

좀 더 자세한 자료

 

 

그래서 언리얼은?

  • 결론적으로 언리얼은 어느 좌표계에 해당되는가? 하면 z-up 왼손 좌표계이다. 따라서, 모니터를 바라보는 우리의 시점을 기준으로 오른쪽이 y축 방향(+), 위가 z축 방향(+), 모니터를 바라보는 방향이 x축 방향(+)이 되겠다.
  • 위 자료를 보면 언리얼만 혼자서 덩그러니 있는 걸 볼 수 있는데, 다른걸 다 제쳐두고 유니티와 좌표계를 표현하는 방식이 다르다는 점에서 유의할 필요는 있어보인다.

 

[언리얼] 유니티의 단위는 1M, 언리얼의 단위는 1cm

  • 유니티를 하다가 언리얼을 하다보면 헷갈릴 수 있는 부분이 있는데, 바로 위치 단위(unit)가 다르다는 것이다. 언리얼의 transform에 나타나는 position 또는 길이는 cm를 기본 단위로 사용한다. 그래서 유니티와 달리 언리얼이 조금만 액터를 이동시켜도 위치 값이 확확 바뀌는 것이다.