unity3d - 使用刚体速度进行 Unity 2D 跳跃感觉不好
问题描述
我正在使用经典方式通过更改刚体的速度来使角色跳跃,下一张图片中的代码:图片
问题是有时当我落地时,我必须等待几帧才能跳跃,这并没有那么反应。而且我还想知道是否可以在 Update 方法中更改刚体的速度,如果不是,那么如何将 Update 中的输入与 FixedUpdate 中的物理链接。当玩家到达地面时,我该怎么做才能使跳跃瞬间?增大地面检查半径并不能解决问题。还有是否可以给玩家一些余量,在落地前将玩家的跳跃输入保存几帧,但等到他落地后再执行?
解决方案
看起来isGrounded
变量稍后会发生变化。由于FixedUpdate
与 相比,调用次数较少Update
,因此您会遇到此问题。尝试将isGrounded
变量设置移动到Update
方法中,让它成为Update
.
继续物理(增加不止一帧等的力)应该在FixedUpdate
. 但是,仅触发一次物理功能-它可以在Update
方法中,这没有问题。
推荐阅读
- python - 在 Python 中更改函数名称
- ios - 如何覆盖目标的字符串本地化文件中的字符串
- scala - WebSocket 缺少用于自定义数据类型的隐式消息流转换器 2.6
- php - Symfony 4 - 分页过滤器搜索问题
- python - 导入tensorflow.contrib.slim时如何解决UnicodeDecodeError
- android - 在一个地方更改 ID 会更改 Android XML 文件中其他地方的 ID
- c++ - 以下程序的意外输出
- react-native - 执行“react-native link realm”时出错
- c++ - 如何在 C++ 中将一个类的实例完全重新分配给同一类的另一个实例(然后删除原始对象)?
- python - 用于检查文件夹中的更改并复制到另一个文件夹中的 Bash 文件