From fa2be3fc9c4b646756d5cf7eb5b00a906d9b2362 Mon Sep 17 00:00:00 2001 From: Linentio <96549149+Linentio@users.noreply.github.com> Date: Sat, 30 Sep 2023 12:37:45 +0200 Subject: Use the absolute value of the up attribute when calculating up_extent --- src/control/character_controller.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/control') diff --git a/src/control/character_controller.rs b/src/control/character_controller.rs index 8f9ef26..3a8aa40 100644 --- a/src/control/character_controller.rs +++ b/src/control/character_controller.rs @@ -521,7 +521,7 @@ impl KinematicCharacterController { fn compute_dims(&self, character_shape: &dyn Shape) -> Vector2 { let extents = character_shape.compute_local_aabb().extents(); - let up_extent = extents.dot(&self.up); + let up_extent = extents.dot(&self.up.abs()); let side_extent = (extents - *self.up * up_extent).norm(); Vector2::new(side_extent, up_extent) } @@ -679,7 +679,7 @@ impl KinematicCharacterController { filter: QueryFilter, ) { let extents = character_shape.compute_local_aabb().extents(); - let up_extent = extents.dot(&self.up); + let up_extent = extents.dot(&self.up.abs()); let movement_to_transfer = *collision.toi.normal1 * collision.translation_remaining.dot(&collision.toi.normal1); let prediction = self.predict_ground(up_extent); -- cgit