什么"步骤"在stepSimulation中意味着什么,它的参数在Bullet Physics中意味着什么?

gee*_*aul 5 bulletphysics

子弹物理学中术语"STEP"是什么意思?

功能stepSimulation()及其参数是什么意思?

我已阅读文档但我无法掌握任何内容.

任何有效的解释都会有很大的帮助.

Pro*_*oxy 6

我知道我迟到了,但我认为接受的答案仅略高于文档的描述.

timeStep:自上次调用以来经过的秒数,而不是毫秒数stepSimulation.

maxSubSteps:通常应保持为1,因此Bullet会自行插入当前值.值为零意味着可变的滴答率,这意味着Bullet将模拟精确地提前timeStep几秒而不是插值.此功能有问题,不推荐使用.大于1的值必须始终满足等式,timeStep < maxSubSteps * fixedTimeStep否则您将在模拟中浪费时间.

fixedTimeStep:与模拟的分辨率成反比.分辨率随着该值的减小而增加.请记住,更高的分辨率意味着它需要更多的CPU.


Max*_*Max 5

btDynamicsWorld::stepSimulation(
   btScalar timeStep,
   int maxSubSteps=1,
   btScalar fixedTimeStep=btScalar(1.)/btScalar(60.));
Run Code Online (Sandbox Code Playgroud)

timeStep- 上次模拟后经过的时间。

内部模拟是针对一些内部恒定步骤进行的。fixedTimeStep

fixedTimeStep~~~ 0.01666666 = 1/60

如果timeStep是 0.1 那么它将包括 6 ( timeStep / fixedTimeStep) 个内部模拟。

为了使滑翔机运动,BulletPhysics 根据除法后的提醒插入最终步骤结果 ( timeStep / fixedTimeStep)