我在游戏中使用了Box2D物理引擎。
在主循环下的update中,使用函数
_physicsWorld->Step(dt, 8, 3);
传入两次更新中的间隔来对物理世界进行更新。但是发现在帧率不同时,物理世界的表现相去甚远。
但我在时间步函数中不是已经传入了更新的间隔吗?为什么仍会发生这种情况?
请问我应该怎么做呢?
(例如,在每秒60帧时,小球落地后能弹起15米;而在每秒30帧时,可能就可以弹起30米了)
我在游戏中使用了Box2D物理引擎。
在主循环下的update中,使用函数
_physicsWorld->Step(dt, 8, 3);
传入两次更新中的间隔来对物理世界进行更新。但是发现在帧率不同时,物理世界的表现相去甚远。
但我在时间步函数中不是已经传入了更新的间隔吗?为什么仍会发生这种情况?
请问我应该怎么做呢?
(例如,在每秒60帧时,小球落地后能弹起15米;而在每秒30帧时,可能就可以弹起30米了)
顶一下。
猜测是不是与其后的8、3两个常量参数有关呢?
box2d 的step时间参数要固定,比如定为0.1秒,如果本帧超过0.1秒就执行多次step,直到最后一次step小于0.1
那按您的经验,每秒60帧的话,这个时间参数常量应该设置为多少呢?
很有帮助。非常感谢您的指点。