diff options
| author | Crozet Sébastien <developer@crozet.re> | 2020-11-26 11:41:43 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2020-11-26 11:41:54 +0100 |
| commit | 391bcf372ab19d4ae3eceb056eb605062bf71122 (patch) | |
| tree | b075af9c11ff14ea062c7a1f32c961ce5b0d67ef /examples3d/debug_rollback3.rs | |
| parent | f293dc602451ddf3c13ce6272f9d3556d47f4fca (diff) | |
| download | rapier-391bcf372ab19d4ae3eceb056eb605062bf71122.tar.gz rapier-391bcf372ab19d4ae3eceb056eb605062bf71122.tar.bz2 rapier-391bcf372ab19d4ae3eceb056eb605062bf71122.zip | |
Fix collider insertion/removal tracking.
Diffstat (limited to 'examples3d/debug_rollback3.rs')
| -rw-r--r-- | examples3d/debug_rollback3.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/examples3d/debug_rollback3.rs b/examples3d/debug_rollback3.rs index 1c5b643..6479e1f 100644 --- a/examples3d/debug_rollback3.rs +++ b/examples3d/debug_rollback3.rs @@ -24,17 +24,18 @@ pub fn init_world(testbed: &mut Testbed) { .friction(0.15) // .restitution(0.5) .build(); - colliders.insert(collider, ground_handle, &mut bodies); + let mut ground_collider_handle = colliders.insert(collider, ground_handle, &mut bodies); /* * Rolling ball */ + let ball_rad = 0.1; let rb = RigidBodyBuilder::new_dynamic() .translation(0.0, 0.2, 0.0) .linvel(10.0, 0.0, 0.0) .build(); let ball_handle = bodies.insert(rb); - let collider = ColliderBuilder::ball(0.1).density(100.0).build(); + let collider = ColliderBuilder::ball(ball_rad).density(100.0).build(); colliders.insert(collider, ball_handle, &mut bodies); let mut linvel = Vector3::zeros(); @@ -43,8 +44,10 @@ pub fn init_world(testbed: &mut Testbed) { let mut step = 0; let snapped_frame = 51; - testbed.add_callback(move |_, physics, _, _, _| { + testbed.add_callback(move |window, physics, _, graphics, _| { step += 1; + + // Snap the ball velocity or restore it. let mut ball = physics.bodies.get_mut(ball_handle).unwrap(); if step == snapped_frame { @@ -59,9 +62,6 @@ pub fn init_world(testbed: &mut Testbed) { ball.set_position(pos, true); step = snapped_frame; } - - let ground = physics.bodies.get_mut(ground_handle).unwrap(); - ground.set_position(Isometry3::translation(0.0, step as f32 * 0.001, 0.0), false); }); /* |
