Sébastien Crozet
b631fe9193
Allow locking individual translational axes
2022-01-09 22:15:36 +01:00
Sébastien Crozet
f74b8401ad
Implement multibody joints and the new solver
2022-01-02 16:58:36 +01:00
Crozet Sébastien
c32da78f2a
Split rigid-bodies and colliders into multiple components
2021-04-26 18:00:50 +02:00
Crozet Sébastien
7306821c46
Attenuate the warmstart impulse for CCD contacts.
...
CCD contacts result in very strong, instantaneous, impulses. So it is preferable to attenuate their contribution to subsequent timesteps to avoid overshooting.
2021-03-28 11:27:07 +02:00
Crozet Sébastien
8dab63bda1
Fix regression in the WASM version of the velocity solver.
2021-03-08 15:14:54 +01:00
Crozet Sébastien
152ada67ec
Fix regression causing invalid contacts to be solved.
2021-03-07 17:34:54 +01:00
Crozet Sébastien
0e4393ba9e
Reduce code duplication between the SIMD and non-SIMD contact solve and warmstart.
2021-03-07 17:15:32 +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
Emil Ernerfeldt
ede4f0f770
cleanup
2021-02-26 11:06:29 +01:00
Emil Ernerfeldt
4162aed2a0
Add params.velocity_based_erp_inv_dt() helper
2021-02-26 11:06:29 +01:00
Emil Ernerfeldt
21247a1236
Add restorative impulse in velocity solver
2021-02-26 11:06:29 +01:00
Crozet Sébastien
96ecb877e2
Implement dominance.
2021-02-24 13:26:51 +01:00
Crozet Sébastien
3cc2738e5f
Fix warnings in the WASM build.
2021-02-23 16:47:48 +01:00
Crozet Sébastien
3fdb4cd6d3
Properly take the tangent_velocity into account in the velocity solver.
2021-02-23 15:47:24 +01:00
Crozet Sébastien
ad5c10672e
Use contact ids instead of contact reordering in order to identify the impulse writeback location.
2021-02-22 17:52:03 +01:00
Emil Ernerfeldt
5e7eedc3fd
Always apply the predictive contact term, even for bouncing contacts
2021-02-18 17:58:17 +01:00
Emil Ernerfeldt
f9e3d382d2
New contacts are bouncy, old are resting
...
If a contact is new (previous impluse = 0), then we treat it as bouncy (respecting restitution).
If the contact is old we treat it as resting.
Exceptions for restitutions <=0 and >= 1.
2021-02-18 15:41:46 +01:00
Crozet Sébastien
e45e5f109c
Fix WASM build.
2021-01-23 13:11:00 +01:00
Crozet Sébastien
cf52e01308
Merge branch 'master' into split_geom
...
# Conflicts:
# examples2d/sensor2.rs
# examples3d/sensor3.rs
# src/dynamics/integration_parameters.rs
# src/dynamics/solver/parallel_island_solver.rs
# src/dynamics/solver/velocity_constraint.rs
# src/dynamics/solver/velocity_ground_constraint.rs
# src_testbed/nphysics_backend.rs
# src_testbed/physx_backend.rs
# src_testbed/testbed.rs
2021-01-22 16:10:24 +01:00
Emil Ernerfeldt
95c6199a9a
Remove IntegrationParameters::inv_dt and make dt pub
2021-01-22 13:32:18 +01:00
Crozet Sébastien
8f330b2a00
Rotation locking: apply filter only to the world inertia properties to fix the multi-collider case.
2021-01-21 14:58:40 +01:00
Crozet Sébastien
aa61fe65e3
Add support of 64-bits reals.
2021-01-04 15:14:25 +01:00
Crozet Sébastien
967145a949
Perform contact sorting in the narrow-phase directly.
2020-12-31 11:16:03 +01:00
Crozet Sébastien
43628c8846
Try using solver contacts again, but in a more cache-coherent way.
2020-12-30 17:30:07 +01:00
Crozet Sébastien
9bf1321f8f
Outsource the contact manifold, SAT, and some shapes.
2020-12-29 11:31:00 +01:00
Crozet Sébastien
502be0245c
Add restitution.
2020-11-03 11:22:30 +01:00
Sébastien Crozet
9622827dc6
Fix constraints resolution with non-identity relative collider position.
2020-09-01 14:02:59 +02:00
Sébastien Crozet
c286f44c4e
Constraint solver: properly take non-zero center of masses into account.
2020-08-31 19:05:14 +02:00
Sébastien Crozet
754a48b7ff
First public release of Rapier.
2020-08-25 22:10:25 +02:00