Apply translation left

This commit is contained in:
Jan Nils Ferner
2023-01-26 20:32:03 +01:00
parent 18c59417de
commit 83a9c08b2c

View File

@@ -271,13 +271,12 @@ impl KinematicCharacterController {
println!("[stair] translation_remaining: {translation_remaining:?}"); println!("[stair] translation_remaining: {translation_remaining:?}");
// No slopes or stairs ahead; try to move along obstacles. // No slopes or stairs ahead; try to move along obstacles.
let [vertical_slope_translation, horizontal_slope_translation] = let allowed_translation: Vector<Real> =
self.split_into_components(&translation_remaining) self.split_into_components(&translation_remaining)
.map(|remaining| subtract_hit(remaining, &toi, offset)); .map(|remaining| subtract_hit(remaining, &toi, offset))
.into_iter()
.sum();
let horizontal_allowed_dist =
(toi.toi - (-toi.normal1.dot(&translation_dir)) * offset).max(0.0);
let allowed_translation = *translation_dir * allowed_dist;
result.translation += allowed_translation; result.translation += allowed_translation;
translation_remaining -= allowed_translation; translation_remaining -= allowed_translation;