반응형
1. Local Space와 World Space
- Local Space: 모델이나 캐릭터를 처음 만들 때 사용하는 좌표계입니다. 예를 들어, 캐릭터 모델링에서는 발바닥을 기준으로 하는 것이 일반적입니다.
- World Space: 3D 환경 내에서 모든 물체가 공유하는 전역 좌표계입니다.
2. Local에서 World로의 변환
- World 변환 행렬: Local 좌표에서 World 좌표로 변경하는 데 사용합니다. World 변환 행렬의 역행렬을 사용하면, World 좌표에서 Local 좌표로도 변환할 수 있습니다.
3. Unity 예시: 계층적 변환
- 객체 배치: Unity에서 'World'라는 이름의 Cube가 0, 0, 0에, 'Sphere'가 2, 0, 2에 배치되고, 'Character'가 5, 0, 5에 배치됩니다. World 아래에 Sphere를 배치합니다.
- 상대적 위치: 'Sphere' 아래에 'Character'를 배치하면, 'Character'의 좌표는 3, 0, 3으로 변합니다. 이는 'Sphere'가 'Character'의 상대적인 위치를 정의하기 때문입니다.
- 변환의 이해: 'Character'가 'Sphere'의 자식으로 배치되면, 'Sphere'의 위치와 회전이 'Character'에 영향을 미칩니다. 'Character'의 Transform을 초기화하면 'Sphere'와 같은 위치와 방향을 갖게 됩니다.
4. 변환 행렬의 계산
- Translation 행렬: 'Character'가 2, 0, 3만큼 이동했다고 가정하면, Translation 행렬은 다음과 같습니다.
- Rotation 행렬: 'Character'가 y축을 기준으로 45도 회전했다면, 회전 행렬은 다음과 같습니다. 여기서 c = cos(45도), s = sin(45도) 입니다.
- Scale 행렬: Scale을 고려하지 않는 경우, 단위 행렬을 사용합니다.
5. 최종 변환 행렬
- 변환 행렬: Scale, Rotation, Translation 행렬을 모두 곱하여 최종 변환 행렬을 얻습니다. 순서는 중요하며, 일반적으로 SRT 순서로 곱합니다. 이 행렬은 Local 좌표계에서 World 좌표계로 변환하는 키 역할을 합니다.
- 월드 변환 행렬은 물체마다 다른 걸 갖고 있습니다.
6. Local, Sphere, World 좌표계로 변환
1) Local 좌표계:
- 'Character'의 Local 좌표계는 모델링 시 설정된 좌표계입니다. 예를 들어, 캐릭터 모델링에서 발을 기준으로 하는 좌표계를 말합니다. 이 좌표계는 'Character'가 처음 생성될 때의 기준 좌표계입니다.
2) Local에서 Sphere 좌표계로의 변환:
- 이제 'Character'의 Local 좌표를 'Sphere' 좌표계로 변환합니다. 이 변환은 'Character'를 'Sphere'의 자식으로 배치했을 때 발생합니다. 'Sphere'의 변환 행렬을 사용하여 'Character'의 Local 좌표를 'Sphere' 좌표계로 변환합니다.
3) Sphere에서 World 좌표계로의 변환:
- 'Sphere' 좌표계에서 'Character'의 위치를 World 좌표계로 변환합니다. 'Sphere'가 'World'의 자식이라면, 'Sphere'의 변환 행렬을 사용하여 이 좌표를 World 좌표계로 변환합니다. 이 경우, 'Sphere'가 World 좌표계에서 어디에 위치하는지가 중요합니다.
결과적으로, 'Character'의 최종 월드 좌표는 이러한 계층적 변환 과정을 거쳐서 결정됩니다. 'Character'의 Local 좌표계에서 시작하여 'Sphere' 좌표계를 거쳐, 마지막으로 'World' 좌표계에서의 위치가 정해집니다. 이 과정은 3D 그래픽스와 게임 엔진에서 객체들의 상대적인 위치와 방향을 관리하는 데 핵심적인 역할을 합니다.
반응형
'DirectX' 카테고리의 다른 글
14. Projection 변환 행렬 (0) | 2023.12.22 |
---|---|
13. View 변환 행렬 (0) | 2023.12.21 |
11. 좌표계 변환 (0) | 2023.12.19 |
10. SRT 변환 행렬 (0) | 2023.12.18 |
9. 행렬기초 (0) | 2023.12.18 |
댓글