Appearance
第08回 3D探索1
2 / 4 CharacterControllerとカメラを接続する
このステップの目的
入力方向をカメラ基準の移動方向へ変換し、プレイヤーを移動させる
カメラ基準へ変換する
入力の前後左右をワールド軸へ直接割り当てず、カメラのforwardとrightから作ります。垂直成分は移動方向から除きます。
csharp
Vector3 direction = cameraRight * input.x + cameraForward * input.y;
direction.y = 0f;
controller.Move(direction.normalized * speed * Time.deltaTime);回転を分ける
移動方向へキャラクターを向ける処理は、移動処理と別の責任にします。第09回でAnimatorへ速度を渡すため、実際の移動量も記録します。
チェックリスト
- カメラの向きに応じて前後左右へ移動できる
- 移動方向から垂直成分を除いている
- 移動処理と向きの処理を分けている