aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md22
-rw-r--r--src/lib.rs1
-rw-r--r--src/pipeline/query_pipeline.rs3
3 files changed, 24 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5aeb23a..29e5b73 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,28 @@
## Unreleased
+### Added
+- Add a **kinematic character** controller implementation. See the `control` module. The character controller currently
+ supports the following features:
+ - Slide on uneven terrains
+ - Interaction with dynamic bodies.
+ - Climb stairs automatically.
+ - Automatically snap the body to the floor when going downstairs.
+ - Prevent sliding up slopes that are too steep
+ - Prevent sliding down slopes that are not steep enough
+ - Interactions with moving platforms.
+ - Report information on the obstacles it hit on its path.
+- Implement `serde` serialization/deserialization for `CollisionEvents` when the `serde-serialize` feature is enabled
+
+
### Modified
- The methods `Collider::set_rotation`, `RigidBody::set_rotation`, and `RigidBody::set_next_kinematic_rotation` now
take a rotation (`UnitQuaternion` or `UnitComplex`) instead of a vector/angle.
-
+- The method `QueryFilter::exclude_dynamic` is now a static method (the `self` argument was removed).
+- The `QueryPipeline::cast_shape` method has a new argument `stop_at_penertation`. If set to `false`, the linear
+ shape-cast won’t immediately stop if the shape is penetrating another shape at its starting point **and** its
+ trajectory is such that it’s on a path to exist that penetration state.
+- The `InteractionGroups` is now a set of explicit bit flags instead of a raw `u32`.
+- The world-space mass properties of rigid-bodies are now updated automatically whenever the user changes their
+ position.
## v0.14.0 (09 July 2022)
### Fixed
diff --git a/src/lib.rs b/src/lib.rs
index baffedc..0c640c7 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -203,7 +203,6 @@ pub mod math {
/// Prelude containing the common types defined by Rapier.
pub mod prelude {
- // pub use crate::controller::*;
pub use crate::dynamics::*;
pub use crate::geometry::*;
pub use crate::math::*;
diff --git a/src/pipeline/query_pipeline.rs b/src/pipeline/query_pipeline.rs
index 6cf646d..e2ea05f 100644
--- a/src/pipeline/query_pipeline.rs
+++ b/src/pipeline/query_pipeline.rs
@@ -696,6 +696,9 @@ impl QueryPipeline {
/// * `shape` - The shape to cast.
/// * `max_toi` - The maximum time-of-impact that can be reported by this cast. This effectively
/// limits the distance traveled by the shape to `shapeVel.norm() * maxToi`.
+ /// * `stop_at_penetration` - If set to `false`, the linear shape-cast won’t immediately stop if
+ /// the shape is penetrating another shape at its starting point **and** its trajectory is such
+ /// that it’s on a path to exist that penetration state.
/// * `filter`: set of rules used to determine which collider is taken into account by this scene query.
pub fn cast_shape<'a>(
&self,