[0]2d物理没有适配高刷屏

已邀请:

ainideqingliang

赞同来自:

@laya_box

kylin9718

赞同来自:

最新的版本已经适配了,请使用最新的版本。

ainideqingliang

赞同来自:

@Laya_Aaron是不是离职了呀,最近也不见回复了

ainideqingliang

赞同来自:

把运行模式设置为slow其他不变,小球可以飞的更快更高

kylin9718

赞同来自:

1) 你所说的情况确实存在
1.1) 给定力,计算速度时,会使用 合力乘以时间步,当时间步不同时,计算出来的力确实不同。
1.2) box2d也推荐使用固定时间步,使用固定时间步的好处是给定同样的力,计算出的输出是一致的。
2) 但我们也遇到了高刷屏的问题,因为我们拿不到高刷屏的频率,所以只能给定动态时间步。
2.1) 在给定速度或仅受持续性力(如重力)时,在帧率稳定的情况下等同于给定稳定的时间步,这种情况下,高刷屏和普通屏幕的表现一致。比如同一个刚体在仅受重力的情况下,在120帧的屏幕上和60帧的屏幕上,同一时间下降的位置时一致的。
2.2) 如2.1,如果给定固定时间步,则每个时间步计算出的降落位置都是一致的,将会导致120帧的降落速度是60的两倍。
2.3) 但动态时间步的问题在于,如果直接给刚体施加力或者碰撞时产生的碰撞脉冲力,因为时间步的不一致,会导致计算的不一致,也就会导致不同帧数下的表现不一致。
3) 这两个问题同时存在,我们这边恐怕暂时也没有太好的解决方案。给定时间步的逻辑在 Physics 类的 _update 方法下,可以调整这里确定最适合自己项目的方案。

要回复问题请先

商务合作
商务合作