언리얼에서 스페이스란 좌표계 기준을 뜻한다.
위치/회전/방향을 어떤 기준으로 계산하느냐를 정할 때 사용하는 것이다.
1️⃣ 월드 스페이스 (World Space)
- 게임 세계 전체의 절대 좌표
- 맵 기준으로 고정된 좌표계
- 예: (0,0,0)은 월드의 원점
📌 특징
- 어디에 있든 항상 같은 기준
- 디버깅, 고정 위치 배치에 자주 사용
2️⃣ 로컬 스페이스 (Local Space)
- 자기 자신(액터/컴포넌트) 기준 좌표
- 부모에 따라 움직이고 회전함
📌 특징
- 액터가 회전하면 로컬 축도 같이 회전
- “앞으로 이동” 같은 동작에 자주 사용
3️⃣ 컴포넌트 스페이스 (Component Space)
- 특정 컴포넌트 기준
- 로컬 스페이스의 한 종류라고 보면 됨
4️⃣ 스크린 스페이스 (Screen Space)
- 화면 기준 좌표
- UI, HUD에서 사용
📌 특징
- (0,0)은 보통 화면의 한쪽 모서리
- 해상도에 영향받음
5️⃣ 뷰 / 카메라 스페이스 (View Space)
- 카메라 기준 좌표
- 카메라가 원점이고, 보는 방향이 기준
예:
- 조준선
- 카메라 앞쪽으로 레이 쏘기
헷갈릴 때 한 줄 요약 💡
- 월드 = 세상 기준
- 로컬 = 나 기준
- 컴포넌트 = 부위 기준
- 스크린 = 화면 기준
- 뷰 = 카메라 기
- “이 값은 ‘누구 기준’이냐?”를 묻는 게 스페이스다
- “미니맵 아이콘을 화면 오른쪽 위에 표시”
- “캐릭터의 앞쪽 방향으로 100 이동”
- “이 액터를 월드 좌표 (100, 0, 0)에 놓아라”
원래 페이지의 내용은 잘 이해가 되지 않아 추가설명을 찾아본 내용이다.
| Tangent | (보간 이후에는 편차가 날 수 있지만) 직교하는 것으로, 왼편일 수도 오른편일 수도 있습니다. TangentToLocal 트랜스폼에는 로테이션만 있으므로, OrthoNormal 입니다 (포즈 전환(transpose)으로 반전 가능). | |
| Local | 오브젝트 씬 | 직교하는 것으로, 왼편일 수도 오른편일 수도 있/습니다 (트라이앵글 컬링 순서의 조절이 필요합니다). LocalToWorld 트랜스폼에는 로테이션, 비균일 스케일(- 와인딩 순서를 바꿔버릴 수도 있는 음수 비균일 스케일 포함), 트랜슬레이션이 들어 있습니다. |
| World | WorldToView 트랜스폼에는 로테이션과 트랜슬레이션만 들어있어, 뷰 스페이스의 거리는 월드 스페이스와 같습니다. | |
| TranslatedWorld |
|
|
| View | CameraSpace | ViewToClip 트랜스폼에는 X 와 Y 의 스케일은 있지만 트랜슬레이션은 없(어서 중심을 벗어나는 투사 되겠)습니다. Z 에는 스케일과 트랜슬레이션을 적용합니다. 동질성 클립 스페이스로의 변환을 위해 투사를 적용하기도 합니다. |
| Clip | HomogeniousCoordinates, PostProjectionSpace, ProjectionSpace | 원근 투사 행렬의 적용 이후입니다. 참고로 클립 스페이스의 W 는 뷰 스페이스의 Z 와 같습니다. |
| Screen | OpenGL 에서의 NormalizedDeviceCoordinates |
원근 분할 이후:
|
| Viewport | ViewportCoordinates, WindowCoordinates |
픽셀 단위로:
|
좌표계 사이의 변환(transform)은 항상 X To Y 형태의 이름이 붙는다
예: WorldToView, TranslatedWorldToView, TangentToWorld
'게임 개발 > 학습 일지' 카테고리의 다른 글
| 언리얼 기초 지식 - 액터 스냅 (0) | 2026.01.29 |
|---|---|
| Unreal 언리얼 부트캠프 - 사전캠프 3일차 (0) | 2026.01.28 |
| 언리얼 기초 지식 - 에디터 기본설정 (0) | 2026.01.27 |
| Unreal 언리얼 부트캠프 - 사전캠프 1일차 (0) | 2026.01.26 |
| 유니티 게임 프로그래밍 입문 강의 5일차 2/2 (0) | 2024.12.15 |