diff --git a/examples2d/character_controller2.rs b/examples2d/character_controller2.rs index 2325101bc..2acf50ffa 100644 --- a/examples2d/character_controller2.rs +++ b/examples2d/character_controller2.rs @@ -29,6 +29,7 @@ pub fn init_world(testbed: &mut Testbed) { let character_handle = bodies.insert(rigid_body); let collider = ColliderBuilder::capsule_y(0.3, 0.15); colliders.insert_with_parent(collider, character_handle, &mut bodies); + testbed.set_initial_body_color(character_handle, [0.8, 0.1, 0.1]); /* * Create the cubes diff --git a/examples3d/character_controller3.rs b/examples3d/character_controller3.rs index f031f0a81..f6684390f 100644 --- a/examples3d/character_controller3.rs +++ b/examples3d/character_controller3.rs @@ -45,6 +45,7 @@ pub fn init_world(testbed: &mut Testbed) { let character_handle = bodies.insert(rigid_body); let collider = ColliderBuilder::capsule_y(0.3 * scale, 0.15 * scale); // 0.15, 0.3, 0.15); colliders.insert_with_parent(collider, character_handle, &mut bodies); + testbed.set_initial_body_color(character_handle, [0.8, 0.1, 0.1]); /* * Create the cubes diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs index 76b10d471..6c133bd1f 100644 --- a/src_testbed/testbed.rs +++ b/src_testbed/testbed.rs @@ -803,6 +803,21 @@ impl<'a, 'b, 'c, 'd, 'e, 'f> Testbed<'a, 'b, 'c, 'd, 'e, 'f> { QueryFilter::new().exclude_rigid_body(character_handle), |c| collisions.push(c), ); + if let Some(graphics) = &mut self.graphics { + if mvt.grounded { + graphics.graphics.set_body_color( + graphics.materials, + character_handle, + [0.1, 0.8, 0.1], + ); + } else { + graphics.graphics.set_body_color( + graphics.materials, + character_handle, + [0.8, 0.1, 0.1], + ); + } + } controller.solve_character_collision_impulses( phx.integration_parameters.dt, &mut phx.bodies,