diff --git a/integrations/bullet/src/simulation.cpp b/integrations/bullet/src/simulation.cpp index 20bd2fb06b3439a8d521cbfcd9b5e7a2f2605dbc..89850768f0eab7eac4f71fc1caf115f579decdf9 100644 --- a/integrations/bullet/src/simulation.cpp +++ b/integrations/bullet/src/simulation.cpp @@ -84,12 +84,12 @@ namespace fggl::phys::bullet { } void BulletPhysicsEngine::addBody(entity::EntityID /*entity*/, BulletBody &body) { - m_world->addRigidBody(body.body); - - btMatrix4x4 transform; - body.body->getMotionState()->getWorldTransform(body.transform); + // ensure static objects are placed correctly by setting their transforms to the correct value + btTransform transform; + body.body->getMotionState()->getWorldTransform(transform); + body.body->setWorldTransform(transform); - body.body->setWorldTransform(body.body->getMotionState()->) + m_world->addRigidBody(body.body); } inline btCollisionShape* shape_to_bullet(const phys::RigidBody& fgglBody) {