你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
ainideqingliang
赞同来自:
kylin9718
要回复问题请先登录
7 个回复
ainideqingliang
赞同来自:
ainideqingliang
赞同来自:
ainideqingliang
赞同来自:
kylin9718
赞同来自:
ainideqingliang
赞同来自:
ainideqingliang
赞同来自:
kylin9718
赞同来自:
1.1) 给定力,计算速度时,会使用 合力乘以时间步,当时间步不同时,计算出来的力确实不同。
1.2) box2d也推荐使用固定时间步,使用固定时间步的好处是给定同样的力,计算出的输出是一致的。
2) 但我们也遇到了高刷屏的问题,因为我们拿不到高刷屏的频率,所以只能给定动态时间步。
2.1) 在给定速度或仅受持续性力(如重力)时,在帧率稳定的情况下等同于给定稳定的时间步,这种情况下,高刷屏和普通屏幕的表现一致。比如同一个刚体在仅受重力的情况下,在120帧的屏幕上和60帧的屏幕上,同一时间下降的位置时一致的。
2.2) 如2.1,如果给定固定时间步,则每个时间步计算出的降落位置都是一致的,将会导致120帧的降落速度是60的两倍。
2.3) 但动态时间步的问题在于,如果直接给刚体施加力或者碰撞时产生的碰撞脉冲力,因为时间步的不一致,会导致计算的不一致,也就会导致不同帧数下的表现不一致。
3) 这两个问题同时存在,我们这边恐怕暂时也没有太好的解决方案。给定时间步的逻辑在 Physics 类的 _update 方法下,可以调整这里确定最适合自己项目的方案。