Commit Graph

166 Commits

Author SHA1 Message Date
Dragos Daian
57c4e912a6 Implement interaction groups test mode and add the ClampedSum cofficient combine rule (#741) 2025-10-30 11:51:22 +01:00
Sébastien Crozet
27b11b9d61 fix regressions with sleeping behavior of kinematic bodies (#885)
* fix kinematic bodies ignoring the wake_up flag when setting velocities

* fix: don’t allow kinematic bodies to fall asleep unless they velocities are at zero exactly.

* feat: add debug example for kinematic bodies sleep

* chore: update changelog

* chore: typo
2025-10-17 12:22:23 +02:00
Sébastien Crozet
3ac5ed4491 Release v0.30.0 (#880)
* Release v0.30.0

* fix 3d voxels example build
2025-10-03 18:51:57 +02:00
Sébastien Crozet
134f433903 feat: solver improvements + release v0.29.0 (#876)
* feat: solver improvements

* feat: add function to get/set whether gyroscopic forces are enabled on a rigid-body

* chore: switch to released versions of parry and wide instead of local patches

* fix cargo doc

* chore: typo fixes

* chore: clippy fix

* Release v0.29.0

* chore: more clippy fixes
2025-09-05 19:31:58 +02:00
Sébastien Crozet
317322b31b feat: reduce the amount of duplicate work the broad-phase is doing for user changes and CCD + release v0.28.0 (#872)
* feat: reduce the amount of duplicate work the broad-phase is doing for user changes and CCD

* Release v0.28.0

* chore: fix warnings

* chore: clippy fixes

* chore: more clippy fixes
2025-08-08 18:15:34 +02:00
Thierry Berger
f9c986428c revert character controller gravity being gravity dependent (from 822) (#857) 2025-07-24 16:36:31 +02:00
Thierry Berger
0f5b4a4d88 feat: changed some QueryPipeline API to be more library friendly (#863) 2025-07-24 16:21:55 +02:00
Sébastien Crozet
95bd6fcfeb feat: switch to the new Bvh from parry for the broad-phase (#853)
* feat: switch to the new Bvh from parry for the broad-phase

* chore: cargo fmt + update testbed

* chore: remove the multi-grid SAP broad-phase

* fix soft-ccd handling in broad-phase

* Fix contact cleanup in broad-phase after collider removal

* chore: clippy fixes

* fix CCD regression

* chore: update changelog

* fix build with the parallel feature enabled

* chore: remove the now useless broad-phase proxy index from colliders

* fix tests
2025-07-11 22:36:40 +02:00
Thierry Berger
9c9ba4570e testbed: add gravity control + character controller speed control (#822) 2025-07-11 15:31:58 +02:00
Sébastien Crozet
ef47848fba feat: update to parry 0.21 2025-05-16 19:27:02 +02:00
Sébastien Crozet
4cf4524cc6 chore: add ccd test to voxels examples 2025-05-02 15:16:43 +02:00
Sébastien Crozet
e44f636249 feat: add support for Voxels collider (#823)
* feat: start adding voxels support and some additional testbed demo settings

* feat: add support for parry’s new Voxels collider shape

* fix voxels demos

* feat: support rectangular voxels and additional voxels initialization

* chore: switch to parry 0.20

* chore: fix cargo doc

* Fix testbed build
2025-04-24 12:11:53 +02:00
Sébastien Crozet
49fba6cd54 feat: rename AxisMask to AxesMask + enable LIN_Z only in 3D (#805) 2025-03-05 18:07:19 +01:00
Sébastien Crozet
108a2a18d6 feat: add PD and PID controller implementations (#804)
* feat: add a PID controller implementation

* feat: add small rigid-body utilities + test interpolation test

* fix: make scrolling weaker on macos

* feat: add the option to use the PID controller in the character controller demo.

* feat: add a stateless PD controller

* feat(rapier_testbed): cleanup & support PidController in 2D too

* chore: add comments for the PD and PID controllers

* chore: update changelog

* feat: rename PidErrors to PdErrors which is more accurate

* fix cargo doc

* chore: remove dead code

* chore: make test module non-pub
2025-03-05 14:06:49 +01:00
Sébastien Crozet
5ca6ae9106 feat(rapier_testbed): autosave testbed configuration + add support for per-example settings (#799)
* feat(rapier_testbed): autosave testbed configuration + add support for per-example parameters

* feat(rapier_testbed): also save the camera position

* feat(rapier_testbed): improve ergonomics of example-specific settings

* chore: cargo fmt

* chore(rapier_testbed): small UI ergonomics improvement

* chore(rapier_testbed): clippy fixes
2025-02-21 17:52:46 +01:00
Austin J. Garrett
552cfebab0 Fix shape modification not updating graphics in testbed (#708)
* Fix shape modification not updating graphics in testbed

* Add update collider to Testbed

* chore: lint shape_modifications3

* chore: simplify GraphicsManager::remove_collider_nodes

---------

Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
2025-01-08 18:03:01 +01:00
Thierry Berger
dc4bd24da8 Update to Parry 0.18 (#770)
* update to parry ~main

* use traverse_depth_first

* add example to test intersection

* rely on upstream PR rather than local

* re-enable profiler_ui for examples

* rely on official parry repository

* chore: switch back to the published version of parry

* chore: update changelog

* chore: remove dead code

* fix compilation of rapier3d-meshloader and rapier3d-urdf

* chore: cargo fmt

---------

Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
2025-01-08 17:16:34 +01:00
Thierry Berger
510237cc29 Profiling support (#743) 2024-11-19 16:33:26 +01:00
Thierry Berger
76357e3588 Fix CharacterController max/min slope handling (#701) 2024-09-23 11:10:29 +02:00
Thierry Berger
c714ff81f2 ImpulseJointSet::get_mut option to wake up connected bodies (#716) 2024-09-13 10:48:56 +02:00
Thierry Berger
364b5b7c37 Color visualization for grounded character controller (#705) 2024-08-02 11:49:45 +02:00
Bruce Mitchener
801870be00 Fix spelling in filename for debug_excentric_boxes3 (#691) 2024-07-18 09:51:16 +02:00
Bruce Mitchener
5a45a7f559 Remove check for target_arch = "asmjs" (#679)
This is long obsolete and was removed from Rust itself in
https://github.com/rust-lang/rust/pull/117338
2024-07-12 17:01:08 +02:00
Sébastien Crozet
a8a0f297f5 feat: add RevoluteJoint::angle to compute the revolute joint’s angle 2024-06-09 13:20:09 +02:00
Sébastien Crozet
edaa36ac7e chore: add more comments 2024-06-09 12:09:58 +02:00
Sébastien Crozet
cfddaa3c46 feat: more urdf loader improvements 2024-06-09 12:09:58 +02:00
Sébastien Crozet
02cade0440 feat: more urdf parser fixes + stl parser 2024-06-09 12:09:58 +02:00
Sébastien Crozet
c785ea4996 feat: rename JointAxesMask::X/Y/Z by ::LIN_X/LIN_Y/LIN_Z and JointAxis::X/Y/Z by ::LinX/LinY/LinZ 2024-06-09 12:09:58 +02:00
Sébastien Crozet
5c44d936f7 feat: add urdf example 2024-06-09 12:09:58 +02:00
Sébastien Crozet
62379de9ec feat: add simple inverse-kinematics solver for multibodies (#632)
* feat: add a simple jacobian-based inverse-kinematics implementation for multibodies

* feat: add 2d inverse kinematics example

* feat: make forward_kinematics auto-fix the root’s degrees of freedom

* feat: add 3d inverse kinematics example

* chore: update changelog

* chore: clippy fixes

* chore: more clippy fixes

* fix tests
2024-05-25 10:36:34 +02:00
Sébastien Crozet
fcd4e71b43 feat: add a vertical wall to the 2D and 3D character controller examples 2024-05-05 16:17:39 +02:00
Sébastien Crozet
0a9153e273 chore: clippy fixes 2024-04-30 23:10:46 +02:00
Sébastien Crozet
929aa6b925 feat: rename collision_skin to contact_skin 2024-04-30 23:10:46 +02:00
Sébastien Crozet
2678b08bf4 feat: more interesting dynamic mesh demo 2024-04-30 23:10:46 +02:00
Sébastien Crozet
473921f118 feat: add dynamic trimesh example 2024-04-30 23:10:46 +02:00
Sébastien Crozet
6635d49c8b feat: add configurable distance cap to soft-ccd 2024-04-30 23:10:46 +02:00
Sébastien Crozet
3ad9c5ad3b feat: add a few more debug demos 2024-04-30 23:10:46 +02:00
Sébastien Crozet
2df7258570 feat: update testbeds to bevy 0.13 2024-03-24 18:06:00 +01:00
Sébastien Crozet
b3a00b4123 feat: add the DefaultBroadPhase type alias 2024-03-23 15:17:47 +01:00
Sébastien Crozet
cfb2c2c93e feat!: rename BroadPhase to BroadPhaseMultiSap 2024-03-23 15:17:47 +01:00
Sébastien Crozet
da92e5c283 Fix clippy and enable clippy on CI 2024-01-27 17:13:08 +01:00
Sébastien Crozet
9fed726aa9 chore: rename the multibody motor debug demo 2024-01-24 23:06:08 +01:00
AnonymousAcid
2ed34bacf4 Fix dimforge#416 - update ball joint motor pos 2024-01-24 22:59:14 +01:00
AnonymousAcid
b96e61853b Make testing environment with bug repro code 2024-01-24 22:59:14 +01:00
Sébastien Crozet
9b87f06a85 feat: implement new "small-steps" solver + joint improvements 2024-01-21 21:02:27 +01:00
Sébastien Crozet
efa1ac3609 fix initialization of the joint_motor_position examples 2023-12-10 21:52:27 +01:00
Sébastien Crozet
a05622cfe9 fix: avoid perpetual movement when the target ang motor position is overshot 2023-12-10 12:43:13 +01:00
johnny-smitherson
780ba4a216 update bevy 0.11 - fix compile errors 2023-10-23 16:39:52 +00:00
fabriceci
68d7cedfbc Fix CI build error check-fmt 2022-12-26 21:45:31 +01:00
Sébastien Crozet
cc0c982a5b Merge pull request #415 from Wolftousen/master
Add Rope Joints
2022-12-18 15:12:19 +01:00