알쓸유잡 8월 : 📐수포자를 위한 게임수학 4부
- 게임 수학 4부에서는 벡터와 행렬을 토대로 게임 엔진에서 어떻게 활용되는지 예제를 통해 알아봅니다. 🎮
- 행렬은 게임 엔진에서 오브젝트의 위치, 회전, 스케일 등 트랜스폼 정보를 다루는 데 핵심적인 요소입니다. ⚙️
- 유니티는 4x4 행렬을 사용하여 위치, 회전, 스케일을 한 번에 표현하며, 내부적으로 열 기준으로 데이터를 저장합니다. 🔢
- 다양한 행렬 형태(정방행렬, 단위행렬, 전치행렬, 직교행렬, 역행렬)에 대한 이해는 행렬 연산을 효과적으로 활용하는 데 중요합니다. ➗
- 단위 행렬은 트랜스폼의 기본값이며, 전치 행렬은 행과 열을 서로 바꾼 행렬입니다. 🔄
- 직교 행렬은 축들이 서로 수직인 행렬이며, 역행렬은 특정 변환을 되돌리는 행렬입니다. ↩️
- 유니티 코드에서 행렬 정보를 출력하고 조작하는 방법을 실습을 통해 익힙니다. 💻
- 로컬 스페이스, 월드 스페이스, 뷰 스페이스, 프로젝션 스페이스는 렌더링 파이프라인에서 오브젝트를 변환하는 데 사용되는 좌표 공간입니다. 🌌
- 월드 변환, 뷰 변환, 프로젝션 변환을 거쳐 최종적으로 렌더링됩니다. 🖼️
- 뷰 스페이스는 카메라를 기준으로 오브젝트의 위치를 나타내며, Z축이 뒤쪽 방향을 향하는 특징이 있습니다. 📹
- 쉐이더 그래프를 사용하여 행렬을 조작하고, 커브드 쉐이더와 같은 특수 효과를 구현할 수 있습니다. ✨
- 엔드리스 러너 게임에서 사용되는 커브드 쉐이더는 시야각이 좁은 문제를 해결하기 위해 화면을 왜곡하는 기술입니다. 🏃
- HLSL 코드로 작성된 쉐이더를 쉐이더 그래프로 변환하는 과정을 통해 쉐이더 프로그래밍 능력을 향상시킬 수 있습니다. ✏️