diff options
Diffstat (limited to 'src/control/character_controller.rs')
| -rw-r--r-- | src/control/character_controller.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/control/character_controller.rs b/src/control/character_controller.rs index 1b5a792..ec0e04e 100644 --- a/src/control/character_controller.rs +++ b/src/control/character_controller.rs @@ -328,20 +328,20 @@ impl KinematicCharacterController { result: &mut EffectiveCharacterMovement, ) -> Option<(ColliderHandle, TOI)> { if let Some(snap_distance) = self.snap_to_ground { - let snap_distance = snap_distance.eval(dims.y); if result.translation.dot(&self.up) < 1.0e-5 { - let offset = self.offset.eval(dims.y); + let snap_distance = snap_distance.eval(dims.y); if let Some((hit_handle, hit)) = queries.cast_shape( bodies, colliders, character_pos, &-self.up, character_shape, - snap_distance - offset, - false, + snap_distance, + true, filter, ) { // Apply the snap. + let offset = self.offset.eval(dims.y); let snap_distance = hit.toi - offset; if snap_distance.abs() > 1.0e-5 { result.translation -= *self.up * snap_distance; |
