728x90
반응형
- 개요
3차원 공간에서 입력을 통해 플레이어 오브젝트를 조종하는 예제를 구현하였다
씬을 로딩하면서 플레이어는 (0, 0, 0)의 원점에 배치하고 카메라는 (0, 0, 500)에 배치한다
위와 같이 배치된 카메라는 월드 공간의 양의 z축을 향하므로
플레이어를 바라보기 위해서는 카메라를 Yaw 회전으로 180° 회전시켜야 한다
- 예제
1) 게임 씬의 설정

게임 씬을 로딩하는 LoadScene3D 함수의 로직을 위와 같이 구현하였다
플레이어는 원점에 배치하고 카메라는 원점으로부터 z축 방향으로 500만큼 떨어진 위치에 배치하였다
따라서 Yaw 회전으로 180° 회전시켜 플레이어를 바라보도록 설정하였다
2) 게임 오브젝트와 카메라를 조종하는 로직

매 프레임마다 호출되어 게임 로직을 처리하는 Update3D 함수의 로직은 위와 같다
플레이어와 카메라에 대한 입력의 처리를 각각 다르게 구성하였다
- 플레이어 : Z축 입력 - Z축으로 이동 + W축 입력 - Pitch 회전
- 카메라 : X축 입력 - Yaw 회전 + Y축 입력 - Pitch 회전
3) 3차원 렌더링 수행 로직

게임 화면을 렌더링하는 Render3D 함수의 로직은 위와 같다
카메라로부터 뷰 행렬을 가져와 변수에 저장한다
이후 저장한 뷰 행렬을 렌더링할 게임 오브젝트의 모델링 행렬과 곱하여 최종 행렬을 계산한다
계산된 최종 행렬을 사용하여 메시를 표현한다
이후 게임 오브젝트의 위치에 뷰 행렬을 적용하여 뷰 공간으로 계산된 좌표를 계산하고 출력한다
- 최종 실행 결과

728x90
반응형
'수학 > 이득우의 게임 수학 - 실습 예제' 카테고리의 다른 글
| 백페이스 컬링의 구현 (0) | 2026.05.06 |
|---|---|
| 벡터의 외적을 활용한 카메라 구현 (0) | 2026.04.29 |
| 게임 월드 탐험 예제 (0) | 2026.01.28 |
| 텍스처 매핑 (0) | 2025.12.17 |
| 정점의 부가 정보를 활용한 무지개 삼각형 만들기 (0) | 2025.12.17 |