Fix unpredictable broad-phase panic when using small colliders in the simulation.
Fix collision events being incorrectly generated for any shape that produces multiple
contact manifolds (like triangle meshes).
Fix transform hierarchies not being properly taken into account for colliders with a
parent rigid-body.
Fix force and impulse application when the ExternalImpulse or ExternalForce components were added
at the same time as the rigid-body creation.
Fix sleeping threshold application when these thresholds are set at the same time as the rigid-body
creation.
Added
Add the ColliderMassProperties::Mass variant to let the user specify a collider’s mass directly (instead of its density).
As a result the collider’s angular inertia tensor will be automatically be computed based on this mass and its shape.
Add the ContactForceEvent event. It can be read by a bevy system with the EventReader<ContactForceEvent>. This
event is useful to read contact forces. A ContactForceEvent is generated whenever the sum of the magnitudes of the
forces applied by contacts between two colliders exceeds the value specified by the ContactForceEventThreshold
component.
Add the QueryFilter struct that is now used by all the scene queries instead of the CollisionGroups and
Fn(Entity) -> bool closure. This QueryFilter provides easy access to most common filtering strategies
(e.g. dynamic bodies only, excluding one particular entity, etc.) for scene queries.
Added some missing serialization of joints.
Implement Default for Collider. It defaults to a Ball with radius 0.5.
Added a contacts_enabled flag to all the joints. If this flag is set to false for a joint, no contact will be
computed between two colliders attached to rigid-bodies liked by that joint.
Modified
The MassProperties struct is no longer a Component. A common mistake was to assume that MassProperties could
be used to initialize the mass/angular inertia tensor of a rigid-body. It is not the case. Instead, the user should
use the AdditionalMassProperties component. The ReadMassProperties component has been added to read the mass
properties of a rigid-body.
The Sensor component is now a marker component: if it exists the related collider is a sensor, otherwise it is
a solid collider.
0.14.1 (01 June 2022)
Fixed
Add the missing init_async_scene_colliders to the list of the plugin systems.
0.14.0 (31 May 2022)
Added
Add the AsyncSceneCollider component to generate collision for scene meshes similar to AsyncCollider.
Add calls to App::register_type for the types implementing Reflect.
Modified
Collider::bevy_mesh, Collider::bevy_mesh_convex_decomposition and Collider::bevy_mesh_convex_decomposition_with_params was replaced with single Collider::from_bevy_mesh function which accepts ComputedColliderShape.
AsyncCollider is now a struct which contains a mesh handle and ComputedColliderShape.
The physics systems are now running after CoreStage::Update but before CoreStage::PostUpdate.
The collider and rigid-body positions are read from the GlobalTransform instead of Transform (the
transforms modified by Rapier are written back to the Transform component). It is therefore important
... (truncated)
Commits
8378615 Merge pull request #212 from dimforge/release-0.15
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on bevy_rapier3d to permit the latest version.
Changelog
Sourced from bevy_rapier3d's changelog.
... (truncated)
Commits
8378615
Merge pull request #212 from dimforge/release-0.150a618ee
Release v0.15.069ea60c
Merge pull request #210 from dimforge/force-impulse-sleep-at-init45497cb
Fix warning6995e38
Update changelog58e79eb
Fix force/impulse application at rigid-body creation-time + fix sleeping para...92a3224
Merge pull request #209 from dimforge/mass-propsc9dfbc0
Rework mass-properties8fe24ef
Merge pull request #208 from dimforge/new-featuresf9b16c4
Add contact force events to the events examplesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)