Skip to content

第08回 3D探索1 ​

Input Systemの入力を水平な移動方向へ変換し、NavMesh上を歩くTPS操作を作ります。カメラの角度・距離を変えながら、同じ前入力でも見る方向に応じて進む向きが変わることを確かめます。

配布プロジェクト ​

第08〜11回の開始用プロジェクトは準備中です。配布状況を確認してください。本文では計算と確認手順を読めますが、対応するSceneと接続済みの補助機能がそろってからUnityでの実習を開始します。

この回のゴール ​

  • Input Systemの入力値からカメラ基準の水平な移動方向を作る
  • NavMeshAgentで歩き、坂・壁際・移動可能領域の端を確認する
  • 周回カメラの注視点、距離、上下角の制限を調整する

今回のポイント ​

移動可能な床の情報をNavMesh、そこを移動する部品をNavMeshAgentと呼びます。今回は入力から1フレーム分の移動量を求める手動歩行です。目的地までの経路探索は第11回の実演で区別して確認します。

授業の進め方 ​

今回実装する範囲 ​

区分内容
中心の処理ExplorerMotor.Direction、Walkの移動量、OrbitCamera.Turnの角度制限
提供機能を利用入力取得、初期NavMesh、モデルの向き、カメラ配置と遮蔽物への接近処理
発展・実演CharacterControllerを使うジャンプの比較例

完成確認 ​

  • カメラを横へ90度回すと、前入力で進むワールド方向も90度変わる
  • 同じ強さの斜め入力で移動速度が増えない
  • 小さいスティック入力ではゆっくり歩ける
  • カメラの上下角を変えても水平な移動速度が変わらない
  • 坂・壁際・移動可能領域の端で意図した範囲を歩ける