每帧最小移动

问题描述

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

帧率 = 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 (将#修改为@)