Thierry Berger
176c3bae14
Fix user changes handling ( #803 )
...
* add failing test from @Johannes0021
* apply fix on update_positions
* apply fix on ColliderSet::iter_mut
* fix clippy..
* more complete test
* feat: refactor modified sets into a wrapper to avoid future mistakes
* chore: fix typos
---------
Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com >
2025-03-28 12:48:25 +01: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
Thierry Berger
510237cc29
Profiling support ( #743 )
2024-11-19 16:33:26 +01:00
Bruce Mitchener
7374653338
docs: Fix minor typos and tweaks ( #696 )
...
---------
Co-authored-by: Thierry Berger <contact@thierryberger.com >
2024-07-22 11:32:08 +02:00
Thierry Berger
01dd200152
ci: cargo doc step ( #671 )
2024-07-12 16:29:22 +02:00
Sébastien Crozet
3004a7d38d
chore: update to nalgebra 0.33 and parry 0.16 ( #664 )
2024-06-23 22:57:51 +02:00
Bruce Mitchener
7375a691e2
Fix some typos. ( #620 )
2024-05-05 12:11:38 +02:00
Sébastien Crozet
5867d2e78d
fix: include the 0.5 factor in pseudo (mass-normalized) kinetic energy calculation
2024-04-30 23:10:46 +02:00
Sébastien Crozet
c079452a47
feat: add IntegrationParameters::length_unit to adjust internal threshold based on user-defined length units
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
404e032433
feat: add soft (solver-based) ccd implementation
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
9b87f06a85
feat: implement new "small-steps" solver + joint improvements
2024-01-21 21:02:27 +01:00
Bruce Mitchener
4c2d18a0cd
docs: Minor fixes.
2023-08-28 11:05:45 +07:00
fabriceci
4ff84319a0
Allow customising the time until sleep for a rigid body
2023-01-23 22:18:35 +01:00
Sébastien Crozet
89fc31f996
Give access to the world-space mass properties of rigid-bodies
2023-01-15 12:24:14 +01:00
Sébastien Crozet
46d976d97b
Allow disabling colliders, rigid-bodies and impulse joints
2022-12-11 15:20:33 +01:00
Sébastien Crozet
ba081fb6f5
Improve the API for initializing/setting mass-properties
2022-07-05 14:59:14 +02:00
Sébastien Crozet
6ce26f3818
CCD improvements
...
- Fix bug where the CCD thickness wasn’t initialized properly.
- Fix bug where the contact compliance would result in unwanted tunelling, despite CCD being enabled.
2022-05-30 18:29:18 +02:00
Sébastien Crozet
f108520b5a
Finalize refactoring
2022-04-20 19:02:49 +02:00
Sébastien Crozet
2b1374c596
First round deleting the component sets.
2022-04-20 19:02:49 +02:00
Sébastien Crozet
ee679427cd
Fix mass-properties update after collider change
2022-04-20 17:11:06 +02:00
Sébastien Crozet
a9e3441ecd
Rename rigid-body static to fixed
2022-03-20 21:49:16 +01:00
Sébastien Crozet
db6a8c526d
Fix warnings and add comments.
2022-03-20 21:49:16 +01:00
Sébastien Crozet
8e07d8799f
Rigid-body: don’t clear forces at end of timestep + don’t wake-up a rigid-body if the modified property is equal to the old value.
2022-03-20 21:49:16 +01:00
zhguchev
536122e080
add defaults for the several structs
2022-01-23 18:01:50 +01: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
Sébastien Crozet
b631fe9193
Allow locking individual translational axes
2022-01-09 22:15:36 +01:00
Sébastien Crozet
87ec0ced40
Address issues with the genral-case for multibody joints
2022-01-08 21:09:11 +01:00
Sébastien Crozet
f74b8401ad
Implement multibody joints and the new solver
2022-01-02 16:58:36 +01:00
Sébastien Crozet
b45d4b5ac2
Track the change of effective dominance of a rigid-body.
2021-10-26 15:38:54 +02:00
Sébastien Crozet
b364a2b052
Fix velocity computation for position-based kinematic bodies
2021-09-12 01:49:09 -07:00
Waridley
9233a855f0
impl more traits for components
2021-07-11 18:22:39 +02:00
Crozet Sébastien
bccb7d4c66
Track the rigid-body graph IDs inside of the JointSet instead of RigidBodyIds
2021-06-08 18:23:40 +02:00
Crozet Sébastien
7153eb7779
Add ActiveCollisionTypes to easily enable collision-detection between two non-static rigid-body.
2021-06-01 17:59:07 +02:00
Crozet Sébastien
5ef81cda40
Add velocity-based kinematic bodies
2021-06-01 14:55:50 +02:00
Crozet Sébastien
826ce5f014
Rework the event system
2021-06-01 12:36:01 +02:00
Crozet Sébastien
2dfbd9ae92
Add comments.
2021-04-30 11:37:58 +02:00
Crozet Sébastien
83cb981a88
Fix regression in CCD resolution.
2021-04-27 16:43:24 +02:00
Crozet Sébastien
c32da78f2a
Split rigid-bodies and colliders into multiple components
2021-04-26 18:00:50 +02:00