fix Issue 345 with kinematic objects

Thanks to nanocell http://code.google.com/p/bullet/issues/detail?id=345
This commit is contained in:
erwin.coumans
2010-02-23 02:33:11 +00:00
parent 5ab92c0083
commit 79ef84f344

View File

@@ -267,12 +267,14 @@ int btDiscreteDynamicsWorld::stepSimulation( btScalar timeStep,int maxSubSteps,
if (numSimulationSubSteps)
{
saveKinematicState(fixedTimeStep);
//clamp the number of substeps, to prevent simulation grinding spiralling down to a halt
int clampedSimulationSteps = (numSimulationSubSteps > maxSubSteps)? maxSubSteps : numSimulationSubSteps;
saveKinematicState(fixedTimeStep*clampedSimulationSteps);
applyGravity();
//clamp the number of substeps, to prevent simulation grinding spiralling down to a halt
int clampedSimulationSteps = (numSimulationSubSteps > maxSubSteps)? maxSubSteps : numSimulationSubSteps;
for (int i=0;i<clampedSimulationSteps;i++)
{