Skip to content
第08回 3D探索1

3 / 4 重力と落下復帰を扱う

このステップの目的

接地、重力、落下時の復帰をゲーム状態として成立させる

垂直速度を管理する

CharacterControllerを使う場合も、垂直速度を自分で管理して接地時に小さな負値へ戻します。

csharp
if (controller.isGrounded && verticalVelocity < 0f)
    verticalVelocity = groundedOffset;
verticalVelocity += gravity * Time.deltaTime;

落下を失敗にしない

落下したら開始地点へ戻すか、失敗画面へ進めます。最終仕様は第11回で決めるため、第08回では復帰処理だけを確認します。

チェックリスト
  • 接地時に垂直速度が増え続けない
  • 空中で重力が働く
  • 一定高さより下へ落ちると復帰できる