首页 > 解决方案 > 使用刚体速度进行 Unity 2D 跳跃感觉不好

问题描述

我正在使用经典方式通过更改刚体的速度来使角色跳跃,下一张图片中的代码:图片

问题是有时当我落地时,我必须等待几帧才能跳跃,这并没有那么反应。而且我还想知道是否可以在 Update 方法中更改刚体的速度,如果不是,那么如何将 Update 中的输入与 FixedUpdate 中的物理链接。当玩家到达地面时,我该怎么做才能使跳跃瞬间?增大地面检查半径并不能解决问题。还有是否可以给玩家一些余量,在落地前将玩家的跳跃输入保存几帧,但等到他落地后再执行?

标签: unity3dphysics

解决方案


看起来isGrounded变量稍后会发生变化。由于FixedUpdate与 相比,调用次数较少Update,因此您会遇到此问题。尝试将isGrounded变量设置移动到Update方法中,让它成为Update.

继续物理(增加不止一帧等的力)应该在FixedUpdate. 但是,仅触发一次物理功能-它可以在Update方法中,这没有问题。


推荐阅读