DirectX を使った単純なユニバーサル Windows プラットフォーム (UWP) ゲームの作成
この一連のチュートリアルでは、DirectX と C++/WinRT を使用して Simple3DGameDX という名前の基本的なユニバーサル Windows プラットフォーム (UWP) サンプル ゲームを作成する方法について説明します。 このゲームは、主観 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 API に関する基本的な知識。
Direct3D UWP シューティング ギャラリーのサンプル
この Simple3DGameDX サンプル ゲームは、シンプルな主観 3D シューティング ギャラリーを実装し、そこでプレイヤーが動く標的に弾を撃ちます。 標的に命中するたびにポイントが与えられ、プレイヤーは難度が上がっていく 6 つのレベルを進むことができます。 レベルの最後に、ポイントが集計されて、プレイヤーに最終スコアが与えられます。
このサンプルは、次のゲーム概念を示しています。
- DirectX 11.1 と Windows ランタイムの間の相互運用
- 主観 3D 視点およびカメラ
- ステレオスコピック 3D 効果
- 3D でのオブジェクト間の衝突検出
- マウス、タッチ、Xbox コントローラーからのプレイヤーの入力の処理
- オーディオ ミキシングおよび再生
- 基本的なゲームのステート マシン
トピック | 説明 |
---|---|
ゲーム プロジェクトのセットアップ | ゲーム開発の最初の手順は、Microsoft Visual Studio でプロジェクトを設定することです。 ゲーム開発専用のプロジェクトを構成すると、後でテンプレートの一種として再利用できます。 |
ゲームの UWP アプリ フレームワークの定義 | ユニバーサル Windows プラットフォーム (UWP) ゲームのコーディングでの最初の手順は、アプリ オブジェクトと Windows との対話を可能にするフレームワークを構築することです。 |
ゲームのフロー管理 | プレイヤーとシステムとの対話を有効にする高度なステート マシンを定義します。 UI で全体的なゲームのステート マシンを操作する方法および UWP ゲーム用のイベント ハンドラーを作成する方法について説明します。 |
メイン ゲーム オブジェクトの定義 | ここでは、サンプル ゲームのメイン オブジェクトの詳細と、実装するルールをゲーム ワールドとの対話式操作に変換する方法について説明します。 |
レンダリング フレームワーク I: レンダリングの概要 | グラフィックスを表示するレンダリング パイプラインの開発方法について説明します。 レンダリングの概要。 |
レンダリング フレームワーク II: ゲームのレンダリング | グラフィックスを表示するレンダリング パイプラインをアセンブルする方法について説明します。 ゲームのレンダリング、データのセットアップと準備。 |
ユーザー インターフェイスの追加 | DirectX UWP ゲームに 2D ユーザー インターフェイス オーバーレイを追加する方法について説明します。 |
コントロールの追加 | ここでは、サンプル ゲームで 3-D ゲームにムーブ/ルック コントロールを実装する方法と、タッチ コントローラー用、マウス コントローラー用、ゲーム コントローラー用の基本的なコントロールを開発する方法について説明します。 |
サウンドの追加 | XAudio2 API を使用してゲームの音楽とサウンド効果を再生する単純なサウンド エンジンを開発します。 |
サンプル ゲームを拡張する | UWP DirectX ゲームの XAML オーバーレイを実装する方法について説明します。 |
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示