DirectX로 간단한 UWP(유니버설 Windows 플랫폼) 게임 생성
이 자습서 세트에서는 DirectX 및 C++/WinRT를 사용하여 Simple3DGameDX라는 기본 UWP(유니버설 Windows 플랫폼) 샘플 게임을 만드는 방법을 알아봅니다. 게임 플레이는 간단한 1인칭 3D 슈팅 갤러리에서 진행됩니다.
참고 항목
Simple3DGameDX 샘플 게임 자체를 다운로드할 수 있는 링크는 Direct3D 샘플 게임입니다. C++/WinRT 소스 코드는 cppwinrt
라는 폴더에 있습니다. 다른 UWP 샘플 앱에 대한 자세한 내용은 Windows 개발용 샘플 애플리케이션을 참조하세요.
이러한 자습서에서는 아트 및 메시와 같은 자산 로드, 주 게임 루프 만들기, 간단한 렌더링 파이프라인 구현, 사운드 및 컨트롤 추가 등에 대한 프로세스를 포함하여 게임의 모든 주요 부분을 다룹니다.
UWP 게임 개발 기술 및 고려 사항도 확인할 수 있습니다. 주요 UWP DirectX 게임 개발 개념에 중점을 두고 이러한 개념과 관련하여 Windows 런타임에 대한 고려 사항을 살펴보겠습니다.
목표
UWP DirectX 게임의 기본 개념 및 구성 요소에 대해 학습하면 DirectX로 작성된 UWP 게임을 보다 쉽게 디자인할 수 있습니다.
알아야 하는 작업
이 자습서에서는 이러한 주제에 대해 잘 알고 있어야 합니다.
- C++/WinRT. C++/WinRT는 헤더 파일 기반 라이브러리로 구현된 Windows API용 표준 최신 C++17 언어 프로젝션이며, 최신 Windows API에 최고 수준의 액세스를 제공하도록 설계되었습니다.
- 기본 선형 대수 및 뉴턴 물리 개념.
- 기본 그래픽 프로그래밍 용어
- 기본 Windows 프로그래밍 개념
- Direct2D 및 Direct3D 11 APPI에 대한 기본적인 지식.
Direct3D UWP 슈팅 갤러리 샘플
Simple3DGameDX 샘플 게임은 플레이어가 움직이는 대상을 향해 공을 발사하는 간단한 1인칭 3D 슈팅 갤러리를 구현합니다. 각 대상을 적중하면 정해진 포인트 수가 부여되며, 플레이어는 6단계의 증가하는 과제를 진행할 수 있습니다. 레벨이 종료되면 점수가 집계되고 플레이어에게 최종 점수가 부여됩니다.
이 샘플에서는 이러한 게임 개념을 보여 줍니다.
- DirectX 11.1과 Windows 런타임 간의 상호 운용
- 1인칭 3D 관점 및 카메라
- 입체 3D 효과
- 3D의 개체 간 충돌 감지
- 마우스, 터치 및 Xbox 컨트롤러 컨트롤에 대한 플레이어 입력 처리
- 오디오 믹싱 및 재생
- 기본 게임 상태 머신
항목 | 설명 |
---|---|
게임 프로젝트 설정 | 게임 개발의 첫 번째 단계는 Microsoft Visual Studio에서 프로젝트를 설정하는 것입니다. 게임 개발을 위해 특별히 프로젝트를 구성한 후에는 나중에 이를 일종의 템플릿으로 재사용할 수 있습니다. |
게임의 UWP 앱 프레임워크 정의 | UWP(유니버설 Windows 플랫폼) 게임을 코딩하는 첫 번째 단계는 앱 개체가 Windows와 상호 작용할 수 있도록 하는 프레임워크를 빌드하는 것입니다. |
게임 흐름 관리 | 플레이어와 시스템 상호 작용이 가능하도록 고급 상태 시스템을 정의합니다. UI가 전체 게임의 상태 머신과 상호 작용하는 방법과 UWP 게임에 대한 처리기 이벤트를 생성하는 방법을 자세히 알아보세요. |
주 게임 개체 정의 | 이제 샘플 게임의 주 개체 및 해당 개체가 구현하는 규칙이 게임 월드와 상호 작용하도록 변환되는 방식을 자세히 살펴봅니다. |
렌더링 프레임워크 I: 렌더링 소개 | 그래픽을 표시할 렌더링 파이프라인을 개발하는 방법을 알아봅니다. 렌더링을 소개합니다. |
렌더링 프레임워크 II: 게임 렌더링 | 그래픽을 표시할 렌더링 파이프라인을 조립하는 방법을 알아봅니다. 게임 렌더링, 설정 및 데이터 준비. |
사용자 인터페이스 추가 | DirectX UWP 게임에 2D 사용자 인터페이스 오버레이를 추가하는 방법을 알아봅니다. |
컨트롤 추가 | 이제 샘플 게임이 3D 게임에서 이동-보기 컨트롤을 구현하는 방법과 기본 터치, 마우스 및 게임 컨트롤러 컨트롤을 개발하는 방법을 살펴보겠습니다. |
소리 추가 | XAudio2 API를 사용하여 게임 음악과 음향 효과를 재생하는 간단한 사운드 엔진을 개발합니다. |
샘플 게임 확장 | UWP DirectX 게임에서 XAML 오버레이를 구현하는 방법을 자세히 알아보세요. |