From 2dbd40cfce7ba57dc7a74ec406ac35bd5bcac1e2 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sat, 8 Aug 2026 15:29:06 +0800 Subject: fix: clamp zero velocities in direction check --- plugins/movement/src/reducer.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'plugins/movement/src') diff --git a/plugins/movement/src/reducer.rs b/plugins/movement/src/reducer.rs index 4827dd3..3885f26 100644 --- a/plugins/movement/src/reducer.rs +++ b/plugins/movement/src/reducer.rs @@ -38,14 +38,14 @@ impl VelocityReducer { } VelocityReducer::Reduce(vec3) => { let mut vec = *origin_vec - *vec3; - // Handle direction: if sign flips, clamp to zero - if (origin_vec.x > 0.0 && vec.x < 0.0) || (origin_vec.x < 0.0 && vec.x > 0.0) { + // Handle direction: if the sign flips, clamp to zero + if (origin_vec.x >= 0.0 && vec.x < 0.0) || (origin_vec.x <= 0.0 && vec.x > 0.0) { vec.x = 0.0; } - if (origin_vec.y > 0.0 && vec.y < 0.0) || (origin_vec.y < 0.0 && vec.y > 0.0) { + if (origin_vec.y >= 0.0 && vec.y < 0.0) || (origin_vec.y <= 0.0 && vec.y > 0.0) { vec.y = 0.0; } - if (origin_vec.z > 0.0 && vec.z < 0.0) || (origin_vec.z < 0.0 && vec.z > 0.0) { + if (origin_vec.z >= 0.0 && vec.z < 0.0) || (origin_vec.z <= 0.0 && vec.z > 0.0) { vec.z = 0.0; } *origin_vec = vec; -- cgit