From f9c986428ca917ddf4a8e42925b12b283518aa66 Mon Sep 17 00:00:00 2001 From: Thierry Berger Date: Thu, 24 Jul 2025 16:36:31 +0200 Subject: [PATCH] revert character controller gravity being gravity dependent (from 822) (#857) --- examples2d/utils/character.rs | 10 +++++----- examples3d/utils/character.rs | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/examples2d/utils/character.rs b/examples2d/utils/character.rs index 491d839..5592e08 100644 --- a/examples2d/utils/character.rs +++ b/examples2d/utils/character.rs @@ -50,7 +50,7 @@ pub fn update_character( fn character_movement_from_inputs( gfx: &TestbedGraphics, mut speed: Real, - artificial_gravity: Option, + artificial_gravity: bool, ) -> Vector { let mut desired_movement = Vector::zeros(); @@ -77,8 +77,8 @@ fn character_movement_from_inputs( desired_movement *= speed; - if let Some(artificial_gravity) = artificial_gravity { - desired_movement += Vector::y() * artificial_gravity; + if artificial_gravity { + desired_movement -= Vector::y() * speed; } desired_movement @@ -91,7 +91,7 @@ fn update_pid_controller( pid: &mut PidController, speed: Real, ) { - let desired_movement = character_movement_from_inputs(gfx, speed, None); + let desired_movement = character_movement_from_inputs(gfx, speed, false); let character_body = &mut phx.bodies[character_handle]; @@ -129,7 +129,7 @@ fn update_kinematic_controller( controller: &KinematicCharacterController, speed: Real, ) { - let desired_movement = character_movement_from_inputs(gfx, speed, Some(phx.gravity.y)); + let desired_movement = character_movement_from_inputs(gfx, speed, true); let character_body = &phx.bodies[character_handle]; let character_collider = &phx.colliders[character_body.colliders()[0]]; diff --git a/examples3d/utils/character.rs b/examples3d/utils/character.rs index 71f68bd..fdcd9f7 100644 --- a/examples3d/utils/character.rs +++ b/examples3d/utils/character.rs @@ -49,7 +49,7 @@ pub fn update_character( fn character_movement_from_inputs( gfx: &TestbedGraphics, mut speed: Real, - artificial_gravity: Option, + artificial_gravity: bool, ) -> Vector { let mut desired_movement = Vector::zeros(); @@ -88,8 +88,8 @@ fn character_movement_from_inputs( desired_movement *= speed; - if let Some(artificial_gravity) = artificial_gravity { - desired_movement += Vector::y() * artificial_gravity; + if artificial_gravity { + desired_movement -= Vector::y() * speed; } desired_movement @@ -102,7 +102,7 @@ fn update_pid_controller( pid: &mut PidController, speed: Real, ) { - let desired_movement = character_movement_from_inputs(gfx, speed, None); + let desired_movement = character_movement_from_inputs(gfx, speed, false); let character_body = &mut phx.bodies[character_handle]; // Adjust the controlled axis depending on the keys pressed by the user. @@ -139,7 +139,7 @@ fn update_kinematic_controller( controller: &KinematicCharacterController, speed: Real, ) { - let desired_movement = character_movement_from_inputs(gfx, speed, Some(phx.gravity.y)); + let desired_movement = character_movement_from_inputs(gfx, speed, true); let character_body = &phx.bodies[character_handle]; let character_collider = &phx.colliders[character_body.colliders()[0]];