我正在使用经典的方法通过改变刚体的速度来跳转角色,代码在下一张图片中:Image
问题是,有时当我落地时,我必须等待几帧才能跳起来,这并不是很有反应性。我也想知道是否可以在更新方法中改变刚体的速度,如果不可以,那么我如何将更新中的输入与FixedUpdate中的物理联系起来。当球员到达地面时,我该怎么做才能使跳跃瞬间?扩大地面检查半径并不能解决问题。还有,有没有可能给玩家一些余量,把玩家的跳跃输入保存到落地前的几帧,但要等到他落地时才真正做到?
发布于 2021-08-09 12:38:38
看起来isGrounded变量稍后会发生变化。由于与Update不同,FixedUpdate的调用次数较少,因此您会遇到这个问题。尝试将isGrounded变量设置移到Update方法中,让它成为Update中的第一行。
应在FixedUpdate中继续进行物理操作(为多个帧添加力等)。然而,触发物理函数只有一次-它可以在Update方法中,这是没有问题的。
https://stackoverflow.com/questions/68710562
复制相似问题