Commit Graph

39 Commits

Author SHA1 Message Date
Sébastien Crozet
0b7c3b34ec feat: migrate to glam whenever relevant + migrate testbed to kiss3d instead of bevy + release v0.32.0 (#909)
* feat: migrate to glam whenever relevant + migrate testbed to kiss3d instead of bevy

* chore: update changelog

* Fix warnings and tests

* Release v0.32.0
2026-01-09 17:26:36 +01:00
legendofa
5f687b0d29 Additional PinSlotJoint 2D implementation with DOF: 1 translation + 1 rotation (#775)
* Additional groove joint 2D implementation with 1 translation + 1 rotation

* Conditional import for 2d feature flag

* Groove joint 2d tests in testbed examples

* Renamed GrooveJoint to PinSlotJoint

* cargo fmt

* Cross-reference to groove joint in Godot engine
2025-11-14 11:00:36 +01: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
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
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
Sébastien Crozet
ad960bf245 chore: clippy fixes 2024-06-09 12:09:58 +02:00
Sébastien Crozet
edaa36ac7e chore: add more comments 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
f58b4f7c19 feat: add warmstarting to contact constraints resolution 2024-04-30 23:10:46 +02:00
Sébastien Crozet
da79d6fb5b feat: add "compression" debug-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
pellico
9f3b5c8642 Fixed formatting of modified files. 2023-12-10 12:43:13 +01:00
pellico
6432909110 Fix #378 Added one example join_motor_position 2023-12-10 12:43:13 +01:00
fabriceci
68d7cedfbc Fix CI build error check-fmt 2022-12-26 21:45:31 +01:00
Wolftousen
f71af8a827 fix name change 2022-11-05 22:48:56 -04:00
Wolftousen
150b113a18 Adding a Rope Joint 2022-11-04 23:47:54 -04:00
Sébastien Crozet
36e85d0708 Add a character controller implementation 2022-10-02 17:36:30 +02:00
Sébastien Crozet
0703e5527f Fix some solver issues
- Fix the wrong codepath taken  by the solver for contacts involving a collider without parent.
- Properly adress the non-linear treatment of the friction direction
- Simplify the sleeping strategy
- Add an impulse resolution multiplier
2022-01-16 16:52:40 +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
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
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
cc60809afc Add 2D trimesh example. 2021-01-06 18:09:12 +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
1e0f76b02c Add a 2D demo for locking rotation. 2020-11-30 15:41:32 +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
Sébastien Crozet
2102aeb422 Merge pull request #30 from robert-hrusecky/infinite_fall_memory
Infinite fall memory fix for #14
2020-11-10 16:58:00 +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
Robert Hrusecky
bcec54ef31 Merge branch 'master' into infinite_fall_memory
Fix merge conflict resulting from "axii" spelling correction
2020-10-29 18:09:41 -05:00
Crozet Sébastien
380c204151 Add collision groups demos. 2020-10-27 14:35:01 +01:00
Robert Hrusecky
1e0b4dcd1d Example to isolate memory leak issue 2020-10-05 18:42:43 -05:00
Crozet Sébastien
e7466e2f69 Move 2D benchmarks into their own directory/crate. 2020-09-28 10:24:42 +02:00
Sébastien Crozet
3b000f90bf Fix BroadPhase proxy handle recycling causing a crash. 2020-08-27 09:08:17 +02:00
Sébastien Crozet
754a48b7ff First public release of Rapier. 2020-08-25 22:10:25 +02:00