Quote:
So, it looks like I need to figure out how to properly update my kinematic objects to match with the simulation stepping...
Hi, I've done this in the game I'm working on, by creating my own derived dynamics world class, something like this:
Code:
class MyBulletDynamicsWorld : public btDiscreteDynamicsWorld
{
protected:
virtual void internalSingleStepSimulation( btScalar timeStep);
public:
MyBulletDynamicsWorld( btDispatcher* dispatcher,
btBroadphaseInterface* pairCache,
btConstraintSolver* constraintSolver);
virtual ~MyBulletDynamicsWorld();
};
and then you can re-implement internalSingleStepSimulation like this:
Code:
MyBulletDynamicsWorld::MyBulletDynamicsWorld(btDispatcher* dispatcher,
btBroadphaseInterface* pairCache,
btConstraintSolver* constraintSolver)
:btDiscreteDynamicsWorld(dispatcher, pairCache, constraintSolver)
{
}
MyBulletDynamicsWorld::~MyBulletDynamicsWorld()
{
}
void MyBulletDynamicsWorld::internalSingleStepSimulation( btScalar timeStep)
{
btDiscreteDynamicsWorld::internalSingleStepSimulation(timeStep);
// then do your per-step code here, the timestep is the proper 1/60 one
}
Works very well for me
Cheers,
Ola