Appearance
第08回 3D探索1
3D空間を歩くプレイヤーを作り、カメラ、入力、衝突、重力、落下時の復帰を接続します。第09回でキャラクターを表示する前に、まずゲーム内部の移動を成立させます。
この回のゴール
- CharacterControllerで3D空間を移動する
- カメラ基準の入力方向を作る
- 壁や床との衝突、重力、落下復帰を扱う
- 3D探索ゲームの開始地点と仮ゴールを作る
今回のポイント
キャラクターの見た目やアニメーションより先に、入力から位置が変わり、世界と衝突し、ゴールへ到達できる内部状態を作ります。カメラとプレイヤーの座標系を分けて考えます。
授業の流れ
1 / 43Dステージと衝突を確認する3D空間の地形、Collider、開始地点、ゴールの関係を確認する2 / 4CharacterControllerとカメラを接続する入力方向をカメラ基準の移動方向へ変換し、プレイヤーを移動させる3 / 4重力と落下復帰を扱う接地、重力、落下時の復帰をゲーム状態として成立させる4 / 4探索の最小ループを確認する移動、観察、ゴール到達をつなぎ、3D探索の最小ゲームを成立させる
配布プロジェクト(ドラフト)
Terrainまたは小規模な既成ステージ、CharacterController、カメラ、入力設定、開始地点とゴールの枠を配布します。
今回実装する範囲
| 区分 | 内容 |
|---|---|
| 自分で実装する処理 | 入力方向、カメラ基準移動、重力、落下復帰 |
| 実装済みの機能を利用する処理 | CharacterController、ステージCollider、カメラ追従 |
| 後の回で扱う処理 | アニメーション、Raycast操作、追跡者、演出 |
完成確認
- カメラの向きに対して前後左右へ移動できる
- 壁をすり抜けず、床から落下した場合に復帰できる
- 仮ゴールへ到達したことを表示できる