diff --git a/legacy/ephysics/src/lib/ephysics_world.cpp b/legacy/ephysics/src/lib/ephysics_world.cpp index 093c3237f8..507f85f0c8 100644 --- a/legacy/ephysics/src/lib/ephysics_world.cpp +++ b/legacy/ephysics/src/lib/ephysics_world.cpp @@ -276,8 +276,11 @@ _simulate_worlds(void *data __UNUSED__) gDeactivationTime = world->max_sleeping_time; if (world->soft_body_ref) - world->dynamics_world->stepSimulation(delta, world->max_sub_steps, + { + world->dynamics_world->stepSimulation(delta, world->max_sub_steps, world->fixed_time_step); + world->world_info->m_sparsesdf.GarbageCollect(); + } else ((btDiscreteDynamicsWorld *)world->dynamics_world)->stepSimulation( delta, world->max_sub_steps, world->fixed_time_step);