1313 see [ rapier's changelog] ( https://github.com/dimforge/rapier/blob/master/CHANGELOG.md ) .
1414 - ` RapierQueryPipeline ` is no longer a component.
1515 - Migration: Use ` RapierContext ` or retrieve the needed components to pass to ` RapierQueryPipeline::new_scoped ` and make your logic in a scoped function. This function allows capturing and returning information.
16- - a new ` QueryPipelineMut ` to provide the same API as rapier. It's currently used for the character controller.
16+ - a new ` QueryPipelineMut ` to provide the same API as rapier. It's currently used for the character controller.
1717
1818### Fix
1919
7474- Update bevy to 0.15.
7575- ` RapierContext ` , ` RapierConfiguration ` and ` SimulationToRenderTime ` are now a ` Component ` instead of resources.
7676 - Rapier now supports multiple independent physics worlds, see example ` multi_world3 ` for usage details.
77- - Migration guide: - ` ResMut<mut RapierContext> ` -> ` WriteDefaultRapierContext ` - ` Res<RapierContext> ` -> ` ReadDefaultRapierContext ` - Access to ` RapierConfiguration ` and ` SimulationToRenderTime ` should query for it
78- on the responsible entity owning the ` RenderContext ` .
77+ - Migration guide:
78+ - ` ResMut<mut RapierContext> ` -> ` WriteDefaultRapierContext `
79+ - ` Res<RapierContext> ` -> ` ReadDefaultRapierContext `
80+ - Access to ` RapierConfiguration ` and ` SimulationToRenderTime ` should query for it
81+ on the responsible entity owning the ` RenderContext ` .
7982 - If you are building a library on top of ` bevy_rapier ` and would want to support multiple independent physics worlds too,
80- you can check out the details of [ #545 ] ( https://github.com/dimforge/bevy_rapier/pull/545 )
81- to get more context and information.
83+ you can check out the details of [ #545 ] ( https://github.com/dimforge/bevy_rapier/pull/545 )
84+ to get more context and information.
8285- ` colliders_with_aabb_intersecting_aabb ` now takes ` bevy::math::bounding::Aabb3d ` (or ` [..]::Aabb2d ` in 2D) as parameter.
8386 - it is now accessible with ` headless ` feature enabled.
8487
8588### Fix
8689
8790- Fix a crash when using ` TimestepMode::Interpolated ` and removing colliders
88- during a frame which would not run a simulation step.
91+ during a frame which would not run a simulation step.
8992
9093### Added
9194
9295- Added a ` TriMeshFlags ` parameter for ` ComputedColliderShape ` ,
93- its default value is ` TriMeshFlags::MERGE_DUPLICATE_VERTICES ` ,
94- which was its hardcoded behaviour.
95- - Added a way to configure which colliders should be debug rendered: ` global ` parameter for both
96+ its default value is ` TriMeshFlags::MERGE_DUPLICATE_VERTICES ` ,
97+ which was its hardcoded behaviour.
98+ - Added a way to configure which colliders should be debug rendered: ` global ` parameter for both
9699 ` RapierDebugColliderPlugin ` and ` DebugRenderContext ` , as well as individual collider setup via
97100 a ` ColliderDebug ` component.
98101
@@ -110,7 +113,7 @@ and new features. Please have a look at the
110113- Renamed ` has_any_active_contacts ` to ` has_any_active_contact ` for better consistency with rapier.
111114- ` ColliderDebugColor ` 's property is now a ` bevy::color::Hsla ` .
112115- ` ImpulseJoint::data ` and ` MultibodyJoint::data ` are now a more detailed enum ` TypedJoint ` instead of a ` GenericJoint ` .
113- You can still access its inner ` GenericJoint ` with ` .as_ref() ` or ` as_mut() ` .
116+ You can still access its inner ` GenericJoint ` with ` .as_ref() ` or ` as_mut() ` .
114117- ` data ` fields from all joints (` FixedJoint ` , …) are now public, and their getters removed.
115118
116119### Added
@@ -239,7 +242,7 @@ performance of the other parts of the simulation.
239242- Fix typo by renaming ` CuboidViewMut::sed_half_extents ` to ` set_half_extents ` .
240243- Properly scale parented collider’s offset based on changes on its ` ColliderScale ` .
241244
242- ## 0.21.0 (07 March 2023)
245+ ## 0.21.0 (07 March 2023)
243246
244247### Modified
245248
@@ -316,13 +319,13 @@ performance of the other parts of the simulation.
316319### Added
317320
318321- Add a ** kinematic character controller** implementation. This feature is accessible in two different ways:
319- 1 . The first approach is to insert the ` KinematicCharacterController ` component to an entity. If the
320- ` KinematicCharacterController::custom_shape ` field is set, then this shape is used for the character control.
321- If this field is ` None ` then the ` Collider ` attached to the same entity as the character controller is used.
322- The character controller will be automatically updated when the ` KinematicCharacterController::movement ` is set.
323- The result position is written to the ` Transform ` of the character controller’s entity.
324- 2 . The second, lower level, approach, is to call ` RapierContext::move_shape ` to compute the possible movement
325- of a shape, taking obstacle and sliding into account.
322+ 1 . The first approach is to insert the ` KinematicCharacterController ` component to an entity. If the
323+ ` KinematicCharacterController::custom_shape ` field is set, then this shape is used for the character control.
324+ If this field is ` None ` then the ` Collider ` attached to the same entity as the character controller is used.
325+ The character controller will be automatically updated when the ` KinematicCharacterController::movement ` is set.
326+ The result position is written to the ` Transform ` of the character controller’s entity.
327+ 2 . The second, lower level, approach, is to call ` RapierContext::move_shape ` to compute the possible movement
328+ of a shape, taking obstacle and sliding into account.
326329- Add implementations of ` Add ` , ` AddAssign ` , ` Sub ` , ` SubAssign ` to ` ExternalForce ` and ` ExternalImpulse ` .
327330- Add ` ExternalForce::at_point ` and ` ExternalImpulse::at_point ` to apply a force/impulse at a specific point
328331 of a rigid-body.
@@ -372,7 +375,7 @@ performance of the other parts of the simulation.
372375- Add the ` ColliderMassProperties::Mass ` variant to let the user specify a collider’s mass directly (instead of its
373376 density).
374377 As a result the collider’s angular inertia tensor will be automatically be computed based on this mass and its shape.
375- - Add the ` ContactForceEvent ` event. It can be read by a bevy system with the ` MessageReader <ContactForceEvent>` . This
378+ - Add the ` ContactForceEvent ` event. It can be read by a bevy system with the ` EventReader <ContactForceEvent>` . This
376379 event is useful to read contact forces. A ` ContactForceEvent ` is generated whenever the sum of the magnitudes of the
377380 forces applied by contacts between two colliders exceeds the value specified by the ` ContactForceEventThreshold `
378381 component.
@@ -607,6 +610,7 @@ includes lots of new features. Refer to the Rapier changelogs for details.
607610### Changed
608611
609612- Rapier configuration
610- - Replaced ` Gravity ` and ` RapierPhysicsScale ` resources with a unique ` RapierConfiguration ` resource.
611- - Added an ` physics_pipeline_active ` attribute to ` RapierConfiguration ` allowing to pause the physic simulation.
612- - Added a ` query_pipeline_active ` attribute to ` RapierConfiguration ` allowing to pause the query pipeline update.
613+ - Replaced ` Gravity ` and ` RapierPhysicsScale ` resources with a unique ` RapierConfiguration ` resource.
614+ - Added an ` physics_pipeline_active ` attribute to ` RapierConfiguration ` allowing to pause the physic simulation.
615+ - Added a ` query_pipeline_active ` attribute to ` RapierConfiguration ` allowing to pause the query pipeline update.
616+
0 commit comments