Сложилась такая вот неприятная ситуация, если персонажем быстро подойти к обрыву то он падает, а если понемногу то он зависает в воздухе.
проблема скорее всего в "ощущении земли", анимация падения начинает проигрываться когда теряется земля под ногами, определение земли под ногами пробовал двумя способами
1й - сharacterController.isGrounded
2й - private bool isGrounded{ get { return Physics.Raycast(BotModel.transform.position, -Vector3.up, 0.1f); }}
само падение
Velocity.y += Gravity * Time.deltaTime;
Velocity = transform.forward * Speed + Vector3.up * Velocity.y;
сharacterController.Move(Velocity * Time.deltaTime);
первый хуже так как не всегда получается прыгнуть, 2й стабильный, но оба показывают что земли нет а персонаж висит в воздухе так как коллайдер контроллера (я так понимаю) не даёт упасть
получается визуально он должен упасть, анимация падения проигрывается, а он не падает...
единственное если уменьшить у контроллера радиус то падает нормально, но тогда в стены проваливается...
Как его правильно сделать?