feat: rename CharacterCollision::toi to hit
This commit is contained in:
committed by
Sébastien Crozet
parent
2b095b65b2
commit
d0866d4232
@@ -112,7 +112,7 @@ pub struct CharacterCollision {
|
|||||||
/// The translations that was still waiting to be applied to the character when the hit happens.
|
/// The translations that was still waiting to be applied to the character when the hit happens.
|
||||||
pub translation_remaining: Vector<Real>,
|
pub translation_remaining: Vector<Real>,
|
||||||
/// Geometric information about the hit.
|
/// Geometric information about the hit.
|
||||||
pub toi: ShapeCastHit,
|
pub hit: ShapeCastHit,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// A character controller for kinematic bodies.
|
/// A character controller for kinematic bodies.
|
||||||
@@ -261,7 +261,7 @@ impl KinematicCharacterController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 2. Cast towards the movement direction.
|
// 2. Cast towards the movement direction.
|
||||||
if let Some((handle, toi)) = queries.cast_shape(
|
if let Some((handle, hit)) = queries.cast_shape(
|
||||||
bodies,
|
bodies,
|
||||||
colliders,
|
colliders,
|
||||||
&(Translation::from(result.translation) * character_pos),
|
&(Translation::from(result.translation) * character_pos),
|
||||||
@@ -276,7 +276,7 @@ impl KinematicCharacterController {
|
|||||||
filter,
|
filter,
|
||||||
) {
|
) {
|
||||||
// We hit something, compute and apply the allowed interference-free translation.
|
// We hit something, compute and apply the allowed interference-free translation.
|
||||||
let allowed_dist = toi.time_of_impact;
|
let allowed_dist = hit.time_of_impact;
|
||||||
let allowed_translation = *translation_dir * allowed_dist;
|
let allowed_translation = *translation_dir * allowed_dist;
|
||||||
result.translation += allowed_translation;
|
result.translation += allowed_translation;
|
||||||
translation_remaining -= allowed_translation;
|
translation_remaining -= allowed_translation;
|
||||||
@@ -286,10 +286,10 @@ impl KinematicCharacterController {
|
|||||||
character_pos: Translation::from(result.translation) * character_pos,
|
character_pos: Translation::from(result.translation) * character_pos,
|
||||||
translation_applied: result.translation,
|
translation_applied: result.translation,
|
||||||
translation_remaining,
|
translation_remaining,
|
||||||
toi,
|
hit,
|
||||||
});
|
});
|
||||||
|
|
||||||
let hit_info = self.compute_hit_info(toi);
|
let hit_info = self.compute_hit_info(hit);
|
||||||
|
|
||||||
// Try to go upstairs.
|
// Try to go upstairs.
|
||||||
if !self.handle_stairs(
|
if !self.handle_stairs(
|
||||||
@@ -800,7 +800,7 @@ impl KinematicCharacterController {
|
|||||||
let extents = character_shape.compute_local_aabb().extents();
|
let extents = character_shape.compute_local_aabb().extents();
|
||||||
let up_extent = extents.dot(&self.up.abs());
|
let up_extent = extents.dot(&self.up.abs());
|
||||||
let movement_to_transfer =
|
let movement_to_transfer =
|
||||||
*collision.toi.normal1 * collision.translation_remaining.dot(&collision.toi.normal1);
|
*collision.hit.normal1 * collision.translation_remaining.dot(&collision.hit.normal1);
|
||||||
let prediction = self.predict_ground(up_extent);
|
let prediction = self.predict_ground(up_extent);
|
||||||
|
|
||||||
// TODO: allow custom dispatchers.
|
// TODO: allow custom dispatchers.
|
||||||
|
|||||||
Reference in New Issue
Block a user