Commit Graph

180 Commits

Author SHA1 Message Date
Sébastien Crozet
36e85d0708 Add a character controller implementation 2022-10-02 17:36:30 +02:00
Sébastien Crozet
73788a21ab Add ActiveEvents::CONTACT_FORCE_EVENTS for consistency with ActiveEvents::COLLISION_EVENTS 2022-07-07 11:01:39 +02:00
Sébastien Crozet
ba081fb6f5 Improve the API for initializing/setting mass-properties 2022-07-05 14:59:14 +02:00
Sébastien Crozet
158308ad71 Add hepler function for building a contact force event from a contact pair 2022-07-04 15:04:06 +02:00
Sébastien Crozet
06d540a10c Scene query filtering: address corner case 2022-07-04 11:17:53 +02:00
Sébastien Crozet
fb7bfaf53d Add more options for filtering colliders in scene queries. 2022-07-04 10:43:30 +02:00
Sébastien Crozet
5063f3bb4f Add the ability to disable contacts between two rigid-bodies attached by joints 2022-07-03 13:55:41 +02:00
Sébastien Crozet
32e2ff6c96 Name the contact force events ContactForceEvent instead of CollisionForceEvent 2022-07-01 17:45:11 +02:00
Sébastien Crozet
b9f76e2fda Warning fixes 2022-07-01 12:00:32 +02:00
Sébastien Crozet
c9d8277377 Add contact force events generated above a user-defined threshold 2022-07-01 12:00:32 +02:00
Sébastien Crozet
d6b6189861 Properly wake-up rigid-bodies that must be awaken because of joints 2022-07-01 12:00:18 +02:00
Nash
1f7cf1ac71 Update ActiveEvents rustdocs to remove EventHandler::handle_intersection_event() 2022-06-30 10:23:53 -04:00
shoebe
2a83a44fd9 Fix panic when a collider is both added and removed before a call to CollisionPipeline::step 2022-06-05 15:48:52 -04:00
Sébastien Crozet
63a6889d88 Adjust the defaults for the debug-renderer + add a JOINTS compound bitflag 2022-05-31 15:47:01 +02:00
Sébastien Crozet
10ca3474e6 Make theinstant dependency optional, behind a profiler cargo feature 2022-05-31 11:49:36 +02:00
Sébastien Crozet
fef8416983 Move the cfm factor to the velocity constraints instead of the elements. 2022-05-30 19:14:05 +02:00
Sébastien Crozet
0d05536ab6 Debug-renderer: add rendering of contacts, solver contacts, and collider AABBs 2022-05-30 18:29:18 +02:00
Sébastien Crozet
7dc038aec6 Fix test build 2022-04-28 17:51:17 +02:00
Sébastien Crozet
65824e74f3 Add comments for the debug-renderer 2022-04-28 17:30:35 +02:00
Sébastien Crozet
8ffb0d1658 Take round shapes into account in 2D debug render 2022-04-28 13:05:00 +02:00
Sébastien Crozet
ae40f4cd7e Add collision event flags 2022-04-28 13:03:14 +02:00
Sébastien Crozet
bc2ae4b512 Add a basic lines-based debug-renderer 2022-04-22 16:11:23 +02:00
Sébastien Crozet
b3e5fa5c44 CI: deny warnings again 2022-04-20 19:02:49 +02:00
Sébastien Crozet
4827384e42 Remove unnecessary type annotation 2022-04-20 19:02:49 +02:00
Sébastien Crozet
9237bfd530 Remove the default-sets feature 2022-04-20 19:02:49 +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
0ac35e12a7 Update tests 2022-03-20 21:49:16 +01:00
Sébastien Crozet
d38740369c Emit collision stopped events after a collider is removed. 2022-03-20 21:49:16 +01:00
Sébastien Crozet
063c638ec5 Combine contact events and intersection events into a single event type and flags 2022-03-20 21:49:16 +01: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
Joonas Satka
febeec8616 Update old documentation of raycast methods parameters 2022-01-29 15:10:56 +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
Sébastien Crozet
4454a845e9 Merge pull request #276 from dimforge/lock-translation-axis
Allow locking individual translational axes
2022-01-16 07:52:19 -08:00
Sébastien Crozet
0ccd15c4b1 Merge pull request #270 from tjamaan/fix_RigidBodyVelocity_rotation_center
fix the parameter used for local center of mass
2022-01-10 11:38:43 -08: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
Turki Jamaan
367fc3405f remove unnecessary comment
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2022-01-08 21:37:13 +03:00
Turki Jamaan
e41fccb9fb fix the parameter used for local center of mass 2022-01-08 20:04:22 +03:00
Sébastien Crozet
1308db8994 Merge pull request #267 from dimforge/multibody
Implement multibody joints, and new velocity-based constraints solver
2022-01-02 18:05:50 +01:00
Sébastien Crozet
9f9d329360 Fix tests 2022-01-02 17:43:38 +01:00
Sébastien Crozet
f74b8401ad Implement multibody joints and the new solver 2022-01-02 16:58:36 +01:00
Sébastien Crozet
8fa6653820 Remove useless ref 2021-11-05 10:47:03 +01:00
Sébastien Crozet
b45d4b5ac2 Track the change of effective dominance of a rigid-body. 2021-10-26 15:38:54 +02:00
Jamen Marz
7aa94e994f Impl Default for a few structs 2021-09-25 13:50:12 +02:00
Sébastien Crozet
b364a2b052 Fix velocity computation for position-based kinematic bodies 2021-09-12 01:49:09 -07:00
Benjamin Saunders
291be142a5 Clarify coordinate space of TOI query results 2021-08-30 10:12:59 +02:00