Appearance
第08回 3D探索1
3 / 4 重力と落下復帰を扱う
このステップの目的
接地、重力、落下時の復帰をゲーム状態として成立させる
垂直速度を管理する
CharacterControllerを使う場合も、垂直速度を自分で管理して接地時に小さな負値へ戻します。
csharp
if (controller.isGrounded && verticalVelocity < 0f)
verticalVelocity = groundedOffset;
verticalVelocity += gravity * Time.deltaTime;落下を失敗にしない
落下したら開始地点へ戻すか、失敗画面へ進めます。最終仕様は第11回で決めるため、第08回では復帰処理だけを確認します。
チェックリスト
- 接地時に垂直速度が増え続けない
- 空中で重力が働く
- 一定高さより下へ落ちると復帰できる