From d6b61898612d05e12b52d9636e9bb21dccdca4bb Mon Sep 17 00:00:00 2001 From: Sébastien Crozet Date: Fri, 24 Jun 2022 15:11:37 +0200 Subject: Properly wake-up rigid-bodies that must be awaken because of joints --- src/pipeline/physics_pipeline.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/pipeline/physics_pipeline.rs b/src/pipeline/physics_pipeline.rs index 19749be..16f2830 100644 --- a/src/pipeline/physics_pipeline.rs +++ b/src/pipeline/physics_pipeline.rs @@ -371,6 +371,16 @@ impl PhysicsPipeline { hooks: &dyn PhysicsHooks, events: &dyn EventHandler, ) { + // Apply some of delayed wake-ups. + for handle in impulse_joints + .to_wake_up + .drain(..) + .chain(multibody_joints.to_wake_up.drain(..)) + { + islands.wake_up(bodies, handle, true); + } + + // Apply modifications. let modified_bodies = bodies.take_modified(); let mut modified_colliders = colliders.take_modified(); let mut removed_colliders = colliders.take_removed(); -- cgit