微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

每帧最小移动

如何解决每帧最小移动

在游戏引擎中计算移动时,我会根据玩家的速度更新每一帧的位置。如果我试图在计算中保持现实,我最终会得到每帧的位移非常小,以至于整体上不会发生运动,或者在加速时只会不连续地发生。
举个例子:

帧率 = 60 fps

窗口高度 = 600 像素

比例 = 10px = 1 m

速度 = 2 m/s = 0.03... m/frame(假设玩家在 9.8 m/s 的重力下自由落体并加速)

有了这个数据,最小位移是1 pixel = 0.1m,所以最终结果是很多帧都没有移动。如果速度恒定,则根本不会发生移动。
目前,我使用乘法因子来扩大我的计算,但有没有更好的方法解决这个问题?
基本上,我的问题是:我应该如何以一致且现实的方式处理(小)部分运动?

编辑:解决方案应该是始终对每个物理变量使用 floats(doubles),包括对象在空间中的位置,并仅在需要时将其转换为整数像素坐标作为最后一步使成为。这样在物理模型中一切正常,甚至是精细的运动。 毛罗

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。