@dimforge/rapier3d-compat
Advanced tools
Changelog
0.13.0 (2024-05-05)
Several stability improvements are added as part of this release. See rapier#625 for overviews of the most important improvements.
castShape
and castCollider
functions have been modified to add a targetDistance
parameter. This parameter
indicates the distance below which a hit is detected.RayIntersection.toi
to .timeOfImpact
for better clarity.RayColliderIntersection.toi
to .timeOfImpact
for better clarity.RayColliderToi
to RayColliderHit
.RayColliderHit.toi
to .timeOfImpact
for better clarity.ShapeTOI
to ShapeCastHit
.ShapeColliderTOI
to ColliderShapeCastHit
.ShapeCastHit.toi
to .timeOfImpact
.KinematicCharacterController.normalNudgeFactor
and .setNormalNudgeFactor
so set a coefficient used for
avoiding having the character controller get stuck on penetrations.RigidBody.softCcdPrediction
, .setSoftCcdPrediction
, and RigidBodyDesc.setSoftCcdPrediction
for configuring
soft-ccd on the rigid-body. See rapier#625 for additional details on
soft-ccd.TriMeshFlags::FIX_INTERNAL_EDGES
and HeightFieldFlags::FIX_INTERNAL_EDGES
for enabling
internal edges correction (which is no longer enabled by default). The flags have been added as an optional parameter
when building the shapes.Collider.contactSkin
, .setContactSkin
, and ColliderDesc.setContactSkin
for configuring the collider’s
contact skin. See rapier#625 for additional details on contact skins.World.lengthUnit
which can be used to indicate the typical size of dynamic objects (e.g. 100 pixels instead of
1 meter). This helps the physics engine adjust internal thresholds for better results.Changelog
0.12.0 (2024-01-28)
The main highlight of this release is the implementation of a new non-linear constraints solver for better stability and increased convergence rates. See #579 for additional information.
In order to adjust the number of iterations of the new solver, simply adjust World.numSolverIterations
.
If recovering the old solver behavior is useful to you, call World.switchToStandardPgsSolver()
.
It is now possible to specify some additional solver iteration for specific rigid-bodies (and everything interacting
with it directly or indirectly through contacts and joints): RigidBodyDesc.additionalSolverIterations
and
RigidBody::setAdditionalSolverIterations
. This allows for higher-accuracy on subsets of the physics scene
without affecting performance of the other parts of the simulation.
CharacterController.translationApplied
, .translationRemaining
and the desiredTranslation
method argument to CharacterController.translationDeltaApplied
, .translationDeltaRemaining
and the
desiredTranslationDelta
to avoid confusion with the usage of the translation
world in RigidBody.translation()
.DynamicRayCastVehicleController
to simulate vehicles based on ray-casting.JointData.generic
(3D only) to create a generic 6-dof joint and manually specify the locked axes.