Commit Graph

115 Commits

Author SHA1 Message Date
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
Kane Rogers
3f223aaf9e Fix bug with colliders without rigid bodies
- When `NarrowPhase` adds a collision pair, it checks to make sure that they don't have the same parent
- In the case where the colliders have no parents (eg. they are not attached to a `RigidBody`) this yields a false positive.
- The fix is to ensure that colliders have a parent before ignoring the pair.
2021-08-26 10:29:24 +02:00
Crozet Sébastien
77a6cd3f26 Release v0.10.0 2021-07-11 19:21:50 +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
bde6657287 Fix tests and wasm build. 2021-06-02 16:22: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
dbb3c8f43b CCD: take collision groups into account 2021-06-01 14:56:24 +02:00
Crozet Sébastien
826ce5f014 Rework the event system 2021-06-01 12:36:01 +02:00
Crozet Sébastien
1bef66fea9 Add prelude + use vectors for setting linvel/translation in builders 2021-05-25 11:00:13 +02:00
Crozet Sébastien
2dfbd9ae92 Add comments. 2021-04-30 11:37:58 +02:00
Crozet Sébastien
ac8ec8e351 Fix tests. 2021-04-29 13:03:54 +02:00
Crozet Sébastien
5cf805075e Fix compilation of the parallel version 2021-04-29 12:09:35 +02:00
Crozet Sébastien
705876f5e5 Restore the collision pipeline 2021-04-29 10:26:44 +02:00
Crozet Sébastien
83cb981a88 Fix regression in CCD resolution. 2021-04-27 16:43:24 +02:00
Crozet Sébastien
3cab54b880 Fix some warnings. 2021-04-27 14:37:39 +02:00
Crozet Sébastien
c32da78f2a Split rigid-bodies and colliders into multiple components 2021-04-26 18:00:50 +02:00