Commit Graph

52 Commits

Author SHA1 Message Date
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
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
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
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
Sébastien Crozet
edaa36ac7e chore: add more comments 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
473921f118 feat: add dynamic trimesh example 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
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
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
a05622cfe9 fix: avoid perpetual movement when the target ang motor position is overshot 2023-12-10 12:43:13 +01:00
Sébastien Crozet
cc0c982a5b Merge pull request #415 from Wolftousen/master
Add Rope Joints
2022-12-18 15:12:19 +01:00
Sébastien Crozet
849f398031 Add a dynamic ray-cast vehicle controller 2022-12-11 15:22:36 +01:00
Wolftousen
c713f45ca0 adding 3d rope joint 2022-11-05 22:42:50 -04:00
Sébastien Crozet
34b7ae32fd Add internal edges debug examples. 2022-10-30 16:44:33 +01:00
Sébastien Crozet
36e85d0708 Add a character controller implementation 2022-10-02 17:36:30 +02:00
Sébastien Crozet
a041e0d314 Add 2-axes coupling for angular joint limits 2022-03-20 21:49:16 +01:00
Sébastien Crozet
c8a2c0379e Rename the 3D debug-deserialize example 2022-03-20 21:49:16 +01:00
Geoffrey Hayes
0ef55c7df7 Start to Load World State
This patch starts to load world state for debugging. The next step is to make sure that deserialization exactly matches the format of world.takeSnapshot().
2022-03-06 22:46:12 +01:00
Sébastien Crozet
f74b8401ad Implement multibody joints and the new solver 2022-01-02 16:58:36 +01:00
Crozet Sébastien
59e5d8e7f9 Add nalgebra to the prelude to make the macros work out of the box 2021-06-03 10:21:18 +02:00
Crozet Sébastien
1a84bf2af3 Replace Kiss3d by Bevy for the testbed renderer. 2021-05-16 17:49:20 +02:00
Crozet Sébastien
2dfbd9ae92 Add comments. 2021-04-30 11:37:58 +02:00
Crozet Sébastien
d70c6f82e3 Fix torque generation for the prismatic joint motor 2021-04-13 11:44:34 +02:00
Crozet Sébastien
97157c9423 First working version of non-linear CCD based on single-substep motion-clamping. 2021-03-26 18:16:27 +01:00
Crozet Sébastien
7983c25606 Start introducing SAP layers. 2021-03-08 15:32:04 +01:00
Crozet Sébastien
bed47a82e7 Projection friction impulses on an implicit cone instead of a pyramidal approximation. 2021-03-07 11:44:19 +01:00
Crozet Sébastien
babcab0bed Update the testbed to use PhysicsHooks. 2021-02-23 15:49:23 +01:00
Crozet Sébastien
23a86c294e Allow using polylines as a collider shape. 2021-01-26 16:41:21 +01:00
Crozet Sébastien
e2006599a8 Add 3D convex decomposition example. 2021-01-20 15:15:33 +01:00
Crozet Sébastien
1e9a962d34 Testbed physx backend: re-add joints. 2021-01-05 17:07:26 +01:00
Crozet Sébastien
cc6d1b9730 Outsource the Shape trait, wquadtree, and shape types. 2020-12-29 11:31:00 +01:00
Crozet Sébastien
a072d4056a Rename RigidBodyBuilder::principal_inertia -> principal_angular_inertia for clarity. 2020-12-01 15:07:04 +01:00
Crozet Sébastien
c3e951f896 Add a simpler to lock the rotation or translation of a dynamic rigid-body. 2020-11-30 15:26:22 +01:00
Crozet Sébastien
391bcf372a Fix collider insertion/removal tracking. 2020-11-26 11:41:54 +01:00
Crozet Sébastien
72eb66425d Add debug demos for rigid-body change tracking. 2020-11-25 15:58:52 +01:00
Crozet Sébastien
3379094f5a Minor demos changes. 2020-11-24 15:02:39 +01:00
Crozet Sébastien
da5f47df47 Move the infinite fall debug example to the 3D examples.
All our other debug examples were there.
2020-11-10 17:03:28 +01:00
Crozet Sébastien
db337c5df6 Add damping support + demos. 2020-11-03 15:34:01 +01:00
Crozet Sébastien
502be0245c Add restitution. 2020-11-03 11:22:30 +01:00
Crozet Sébastien
380c204151 Add collision groups demos. 2020-10-27 14:35:01 +01:00
Crozet Sébastien
947c4813c9 Complete the pfm/pfm contact generator. 2020-10-19 16:52:08 +02:00
Crozet Sébastien
f3f2b57f88 Fix NaN when computing contacts between a cuboid and a perfectly vertical triangle. 2020-09-28 11:01:15 +02:00
Sébastien Crozet
ff2da7fb27 Move benchmark demos into their own directory. 2020-09-06 12:16:22 +02:00
Sébastien Crozet
ce26fe1077 Add compound demo. 2020-08-31 19:05:14 +02:00