diff options
| -rw-r--r-- | CHANGELOG | 13 | ||||
| -rw-r--r-- | build/rapier2d/Cargo.toml | 2 | ||||
| -rw-r--r-- | build/rapier3d/Cargo.toml | 2 | ||||
| -rw-r--r-- | build/rapier_testbed2d/Cargo.toml | 4 | ||||
| -rw-r--r-- | build/rapier_testbed3d/Cargo.toml | 4 |
5 files changed, 19 insertions, 6 deletions
@@ -1,3 +1,16 @@ +## v0.3.0 +- Collider shapes are now trait-objects instead of a `Shape` enum. +- Add a user-defined `u128` to each colliders and rigid-bodies for storing user data. +- Add the support for `Cylinder`, `RoundCylinder`, and `Cone` shapes. +- Added the support for collision filtering based on bit masks (often known as collision groups, collision masks, or + collision layers in other physics engines). Each collider has two groups. Their `collision_groups` is used for filtering + what pair of colliders should have their contacts computed by the narrow-phase. Their `solver_groups` is used for filtering + what pair of colliders should have their contact forces computed by the constraints solver. +- Collision groups can also be used to filter what collider should be hit by a ray-cast performed by the `QueryPipeline`. +- Added collision filters based on user-defined trait-objects. This adds two traits `ContactPairFilter` and + `ProximityPairFilter` that allows user-defined logic for determining if two colliders/sensors are allowed to interact. +- The `PhysicsPipeline::step` method now takes two additional arguments: the optional `&ContactPairFilter` and `&ProximityPairFilter` +for filtering contact and proximity pairs. ## v0.2.1 - Fix panic in TriMesh construction and QueryPipeline update caused by a stack overflow or a subtraction underflow. diff --git a/build/rapier2d/Cargo.toml b/build/rapier2d/Cargo.toml index 34809f2..d963079 100644 --- a/build/rapier2d/Cargo.toml +++ b/build/rapier2d/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rapier2d" -version = "0.2.1" +version = "0.3.0" authors = [ "Sébastien Crozet <developer@crozet.re>" ] description = "2-dimensional physics engine in Rust." documentation = "http://docs.rs/rapier2d" diff --git a/build/rapier3d/Cargo.toml b/build/rapier3d/Cargo.toml index 5cc1de9..f5c2fe4 100644 --- a/build/rapier3d/Cargo.toml +++ b/build/rapier3d/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rapier3d" -version = "0.2.1" +version = "0.3.0" authors = [ "Sébastien Crozet <developer@crozet.re>" ] description = "3-dimensional physics engine in Rust." documentation = "http://docs.rs/rapier3d" diff --git a/build/rapier_testbed2d/Cargo.toml b/build/rapier_testbed2d/Cargo.toml index 87610c3..08c0893 100644 --- a/build/rapier_testbed2d/Cargo.toml +++ b/build/rapier_testbed2d/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rapier_testbed2d" -version = "0.2.0" +version = "0.3.0" authors = [ "Sébastien Crozet <developer@crozet.re>" ] description = "Testbed for the 2-dimensional physics engine in Rust." homepage = "http://rapier.org" @@ -42,5 +42,5 @@ md5 = "0.7" [dependencies.rapier2d] path = "../rapier2d" -version = "0.2" +version = "0.3" features = [ "serde-serialize" ] diff --git a/build/rapier_testbed3d/Cargo.toml b/build/rapier_testbed3d/Cargo.toml index e99d741..7fa01d7 100644 --- a/build/rapier_testbed3d/Cargo.toml +++ b/build/rapier_testbed3d/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rapier_testbed3d" -version = "0.2.0" +version = "0.3.0" authors = [ "Sébastien Crozet <developer@crozet.re>" ] description = "Testbed for the 3-dimensional physics engine in Rust." homepage = "http://rapier.org" @@ -44,5 +44,5 @@ serde = { version = "1", features = [ "derive" ] } [dependencies.rapier3d] path = "../rapier3d" -version = "0.2" +version = "0.3" features = [ "serde-serialize" ] |
