게임수학

게임수학 - 왼손좌표계, 오른손좌표계

KimGeon-U 2025. 1. 2. 20:03

좌표계

  • 공간 상의 위치를 수치적으로 표현하기 위한 체계
  • 위치 정의, Transform, 물리적 충돌처리, 렌더링 등을 변환 및 계산할 때 사용한다.
  • 2차원 공간과 3차원 공간의 위치를 정의하는 2D좌표계, 3D좌표계
    • 2D : 모니터와 같은 좌표계로 x,y 좌표를 가지고 있다
    • 3D : 3차원 공간에서의 위치를 정의하며 x,y,z좌표를 가지고 있다.
  • 직교 좌표계
    • 축들이 서로 직각을 이루는 좌표계
    • Ex) 언리얼 에디터의 기즈모(Gizmo)의 Transform
  • 극 좌표계
    • 위치를 각도와 거리로 정의한다.
    • Ex) 항공기의 목적지나 여행방향을 정해주는 항행
  • 구면 좌표계
    • 구를 기준으로 한 반지름, 방위각 고도각
    • Ex) 대기 과학, 천문학, 지리학 등 지구나 다른 천체의 표면을 설정할 때

왼손 좌표계 / 오른손 좌표계 - https://dev-igner.tistory.com/51

 

왼손 좌표계

  • 왼손의 엄지, 검지, 중지를 각각 X,Y,Z 축 방향으로 펼쳤을 때 벡터의 외적이 정의되는 것.
  • Z축이 화면 안쪽으로 향한다.
  • 시계 방향으로 회전한다.
  • D3DX, 언리얼 엔진이 왼손 좌표계를 사용한다.

 

오른손 좌표계

  • 오른손의 엄지, 검지, 중지를 기준으로 X,Y,Z 축을 방향으로 펼치는 것
  • Z축이 화면 바깥쪽으로 향한다.
  • 시계 반대 방향으로 회전한다.
  • OpenGL, 블렌더 등이 오른손 좌표계를 사용한다.

 

 

 

 

언리얼에서의 좌표계

좌표계 사이의 변환은 World To View, TranslatedWorld To View처럼 X To Y 형태의 이름으로 표현한다.

월드 좌표계

  • 게임 월드의 기준점 (0,0,0)을 기준으로 모든 객체의 위치와 방향이 정의된다.
  • 건물, 나무, NPC같은 static한 객체들의 위치 배치
  • 플레이어 캐릭터의 위치를 미니맵에 표시

로컬 좌표계

  • 특정 객체를 기준으로 상대적인 위치와 방향을 정의한다.
  • 캐릭터의 손 위치를 기준으로 무기를 배치
  • 차량에서 탑승자 캐릭터의 위치 배치

 

카메라

  • View (CameraSpace)
    • 카메라의 시야 범위를 정의하는 것
    • 카메라의 시야에 따라 객체의 가시성을 판단할 떄 사용한다. (Frustum Space)

스크린

  • 모니터 2D화면을 x,y 좌표로 나타낸다.
  • 픽셀 단위로 화면상의 위치를 정의한다.
    • UI 또는 HUD를 배치하는데 사용한다.

 


https://dev.epicgames.com/documentation/ko-kr/unreal-engine/coordinate-system-and-spaces-in-unreal-engine

https://lalyns.tistory.com/entry/%ED%94%84%EB%9F%AC%EC%8A%A4%ED%85%80-%EC%BB%AC%EB%A7%81-%EB%B7%B0%EC%A2%8C%ED%91%9C%EA%B3%84