diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-08-08 15:29:06 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-08-08 15:29:06 +0800 |
| commit | 2dbd40cfce7ba57dc7a74ec406ac35bd5bcac1e2 (patch) | |
| tree | aec6b07a922371bd18b34b245098bc18b62e390f /plugins/movement/src | |
| parent | 52e0befc296dd58e49de2aeec4cee78be9772639 (diff) | |
fix: clamp zero velocities in direction check
Diffstat (limited to 'plugins/movement/src')
| -rw-r--r-- | plugins/movement/src/reducer.rs | 8 |
1 files changed, 4 insertions, 4 deletions
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; |
