| 授業計画 | 
		
			| 回数 | 学習目標 | 学習項目 | 
		
			| 1 | 【3D基礎①】
ガイダンス(授業概要、目標、評価方法など)
3Dに関する基礎知識やクラスの概念を理解し、Unreal Engine 5のプロジェクトを作成出来るようになる。
【作品制作①】
個人単位で2Dゲームの制作を進める。 | Unreal Engine 5のプロジェクトを作成する。
3D基礎知識(3D空間、座標系、ポリゴン・頂点)を理解する。
クラス、アクセス指定子の概念を理解する。 | 
		
			| 【理解度確認】テキストの確認問題 | 
		
			| 2 | 【3D基礎②】
画面上に1つの三角形ポリゴンを表示出来るようになる。
【作品制作➁】
個人単位で2Dゲームの制作を進める。 | 三角形ポリゴンを表示するため、Pawnクラス・メッシュマネージャー・カメラマネージャーを作成する。
課題の処理やクラスの機能を考える事でクラスの理解を深める。
コーディングルール、マネージャークラスの役割を理解する。 | 
		
			| 【理解度確認】テキストの確認問題、課題提出状況で判断する。 | 
		
			| 3 | 【3D基礎③】
2つの三角形ポリゴンを使い、四角形メッシュを表示して回転出来るようになる。
【作品制作③】
個人単位で2Dゲームの制作を進める。 | 2つの三角形ポリゴンで四角形ポリゴンを作成するプログラム処理を書くことで、頂点インデックスを理解する。
メッシュマネージャーを拡張させ、複数オブジェクトの管理方法・列挙型の活用を理解する。
頂点の座標変更のために回転行列をプログラムに書く事で数学とプログラムの関係性を理解する。 | 
		
			| 【理解度確認】小テスト、テキストの確認問題、課題提出状況で判断する。 | 
		
			| 4 | 【3D基礎④】
オブジェクトにテクスチャを貼れるようになる。
入力によってポリゴンを平行移動・回転できるようになる。
【作品制作④】
個人単位で2Dゲームの制作を進める。 | 法線・UVの概念を理解する。Unreal Engine 5のテクスチャ・マテリアル設定の方法を理解する。 
Unreal Engine 5の入力設定を行い、入力に合わせて一人称視点のカメラを回転させる。
座標変換①(ワールド変換・ビュー変換)、行列計算、カメラの視点と注視点、画角の概念を理解する。 | 
		
			| 【理解度確認】テキストの確認問題、課題提出状況で判断する。 | 
		
			| 5 | 【3D基礎⑤】
入力によって三人称視点の回転出来るようになる。
【作品制作⑤】
個人単位で2Dゲームの制作を進める。 | 座標変換②(プロジェクション変換)、回転(Roll-Pitch-Yaw)の回転を理解する。
三人称視点カメラに必要な情報を考え、SpringArmを導入して三人称視点の回転を実現、理解する。
ポリゴンの裏面、背面カリングの概念を理解する。 | 
		
			| 【理解度確認】小テスト、テキストの確認問題、課題提出状況で判断する。 | 
		
			| 6 | 【3Dゲーム①】
新規プロジェクトの概要説明
3Dゲームのキャラクターの挙動を作成する。①
【作品制作⑥】
個人単位で制作した2Dゲームを提出し、評価する。 | キャラクターの移動、回転、ジャンプ処理に必要なプログラム処理や計算を理解する。①
シェーディングの種類を理解する。 | 
		
			| 【理解度確認】テキストの確認問題、課題提出状況で判断する。 | 
		
			| 7 | 【3Dゲーム②】
3Dゲームのキャラクターの挙動を作成する。② | キャラクターの移動、回転、ジャンプ処理に必要なプログラム処理や計算を理解する。②
光源の種類やマテリアルの要素について理解する。 | 
		
			| 【理解度確認】小テスト、テキストの確認問題、課題提出状況で判断する。 | 
		
			| 8 | 【3Dゲーム③】
3Dゲームのキャラクターの挙動を作成する。③
3Dゲームの描画の流れを理解する。 | Unreal Engine 5のアニメーション設定方法、
DirectXのレンダリングパイプラインを理解する。 | 
		
			| 【理解度確認】テキストの確認問題、課題提出状況で判断する。 | 
		
			| 9 | 【3Dゲーム④】
衝突判定を理解し実践出来るようになる。①(キャラクターとカメラの間の遮蔽物を透明にする) | 遮蔽物とキャラクターの間を透過させることでレイキャストの処理を学習する。
コリジョン判定の図形(スフィア・AABB・OBB・カプセル)を理解する。 | 
		
			| 【理解度確認】小テスト、テキストの確認問題、課題提出状況で判断する。 | 
		
			| 10 | 【3Dゲーム⑤】
衝突判定を理解し実践出来るようになる。②(敵キャラクターと衝突) | 敵キャラクターの探索・追尾処理や、当たり判定によるダメージ処理を理解する。
関数ポインタ、コールバック、デリゲートの概念を理解する。
ポストプロセスの概念を理解する。 | 
		
			| 【理解度確認】テキストの確認問題、課題提出状況で判断する。 | 
		
			| 11 | 【3Dゲーム⑥】
継承を理解し実践出来るようになる。 | アイテムのベースになるクラス、そしてその派生クラスを扱うことでC++における継承を理解する。
深度バッファの概念を理解する。 | 
		
			| 【理解度確認】小テスト、テキストの確認問題、課題提出状況で判断する。 | 
		
			| 12 | 【3Dゲーム⑦】
ゲームのクリア条件を設定し、一通りのゲームの流れを作る。① | ゴールに辿り着く条件の設定、シングルトン・ゲームインスタンスの概念を理解する。 | 
		
			| 【理解度確認】テキストの確認問題、課題提出状況で判断する。 | 
		
			| 13 | 【3Dゲーム⑧】
ゲームのクリア条件を設定し、一通りのゲームの流れを作る。② | クリア判定、シーンの切り替の処理の流れを理解する。
memsetによる初期化を理解する。 | 
		
			| 【理解度確認】小テスト、テキストの確認問題、課題提出状況で判断する。 | 
		
			| 14 | 【3Dゲーム⑨】
オブジェクトを持ち上げる処理を理解し実践出来るようにする。 | レイキャストを応用し、オブジェクトを持ち上げる処理を理解する。 | 
		
			| 【理解度確認】テキストの確認問題、課題提出状況で判断する。 | 
		
			| 15 | 【3Dゲーム⑩】
ライティングの計算を理解し実践出来るようにする。 | 平行光源の拡散反射量を求め方を理解する。 | 
		
			| 【理解度確認】小テスト、テキストの確認問題、課題提出状況で判断する。 |