데브허브 | DEVHUB | 알쓸유잡 5월 : 📐수포자를 위한 게임수학 3부알쓸유잡 5월 : 📐수포자를 위한 게임수학 3부
- 행렬은 게임 개발의 핵심 요소로, 유니티를 포함한 모든 게임 엔진은 행렬을 기반으로 3D 그래픽을 처리합니다. 🎮
- 게임 오브젝트의 트랜스폼(위치, 회전, 스케일)은 내부적으로 행렬 데이터로 저장 및 관리됩니다. 🔄
- 행렬은 행(Row)과 열(Column)로 구성되며, 엑셀 시트처럼 데이터를 배열한 형태입니다. 🔢
- 행렬의 곱셈은 벡터의 내적 연산을 기반으로 하며, 이를 통해 벡터의 스케일, 회전, 이동 등 다양한 변환이 가능합니다. ✖️
- 2차원 벡터를 3차원으로, 3차원 벡터를 4차원으로 확장하는 동차 좌표(Homogeneous Coordinates)를 사용하면 회전, 스케일, 이동을 하나의 행렬 곱셈으로 통합 처리할 수 있습니다. 📈
- 유니티와 대부분의 그래픽스 API는 열 기준(Column-Major) 행렬을 사용하며, 이는 행렬과 벡터의 곱셈 순서에 영향을 미칩니다. ↕️
- 게임 엔진에서 다루는 행렬은 주로 직교 행렬(Orthogonal Matrix), 정방 행렬(Square Matrix), 단위 행렬(Identity Matrix)과 같은 특정 특징을 가집니다. 📐
- 행렬은 쉐이더에서도 중요한 역할을 하며, 노멀 맵 적용과 같은 그래픽 효과를 구현할 때 직접적인 연산에 사용됩니다. 🎨