@dimforge/rapier3d-compat
Advanced tools
Changelog
0.8.0-alpha.0 (2022-01-16)
This release updates to Rapier 0.12.0-alpha.0 which contains:
This is an alpha release because the new solver still needs some tuning, and the spherical joint motors/limits is currently not working.
BallJoint
to SphericalJoint
.BallJoint
to RevoluteJoint
.RevoluteJoint
, PrismaticJoint
, createJoint
, etc.) have renamed to
include impulse
in the names: RevoluteImpulseJoint
, PrismaticImpulseJoint
, createImpulseJoint
, etc. This is
to differentiate them from the new multibody joints.maxPositionIterations
,
jointErp
, warmstartCoeff
, allowedAngularError
, maxLinearCorrection
, maxAngularCorrection
).world.createMultibodyJoint
instead of world.createImpulseJoint
.rigidBody.restrictTranslation
.Changelog
0.7.6
This release updates to Rapier 0.11.1 which contains several bug fixes.
Changelog
0.7.5
Changelog
0.7.3
collider.halfExtents()
methods now returns a valid value for round cuboids.Changelog
0.7.2 (rapier-compat only)
rapier-compat
packages don’t need the Buffer
polyfill anymore.Changelog
0.7.1
rapier-compat
packages are now generated by rollup.Changelog
v0.7.0
The typescripts bindings for Rapier have a brand new user-guide covering all the features of the physics engine!
World.castRay
and World.castRayAndGetNormal
methods have a different signature now, making them
more flexible.ActiveHooks::FILTER_CONTACT_PAIR
to ActiveHooks.FILTER_CONTACT_PAIRS
.ActiveHooks::FILTER_INTERSECTION_PAIR
to ActiveHooks.FILTER_INTERSECTION_PAIRS
.BodyStatus
to RigidBodyType
.RigidBody.bodyStatus()
to RigidBody.bodyType()
.RigidBodyDesc.setMassProperties
to RigidBodyDesc.setAdditionalMassProperties
.RigidBodyDesc.setPrincipalAngularInertia
to RigidBodyDesc.setAdditionalPrincipalAngularInertia
.ColliderDesc.setIsSensor
to `ColliderDesc.setSensor.Ray.pointAt(t)
that conveniently computes ray.origin + ray.dir * t
.Joint
. Each joint now
have its relevant motor configuration
methods: configurMotorModel, configureMotorVelocity, configureMotorPosition, configureMotor
.World.collidersWithAabbIntersectingAabb
for retrieving the handles of all the colliders intersecting the given
AABB.RigidBody.lockTranslations
RigidBody.lockRotations
RigidBody.restrictRotations
RigidBody.dominanceGroup
RigidBody.setDominanceGroup
RigidBody.enableCcd
RigidBodyDesc.setDominanceGroup
for setting the dominance group of the rigid-body being built.Collider.setSendor
Collider.setShape
Collider.setRestitution
Collider.setFriction
Collider.frictionCombineRule
Collider.setFrictionCombineRule
Collider.restitutionCombineRule
Collider.setRestitutionCombineRule
Collider.setCollisionGroups
Collider.setSolverGroups
Collider.activeHooks
Collider.setActiveHooks
Collider.activeEvents
Collider.setActiveEvents
Collider.activeCollisionTypes
Collider.setTranslation
Collider.setTranslationWrtParent
Collider.setRotation
Collider.setRotationWrtParent
ColliderDesc.setMassProperties
for setting explicitly the mass properties of the collider being built (instead
of relying on density).World.createCollider
is now optional.Changelog
v0.6.0
BodyStatus::Kinematic
variant has been replaced by BodyStatus::KinematicPositionBased
and
BodyStatus::KinematicVelocityBased
. Position-based kinematic bodies are controlled by setting (at each frame) the
next
kinematic position of the rigid-body (just like before), and the velocity-based kinematic bodies are controlled
by setting (at each frame) the velocity of the rigid-body.RigidBodyDesc.newKinematic
has been replaced by RigidBodyDesc.newKinematicPositionBased
and
RigidBodyDesc.newKinematicVelocityBased
in order to build a position-based or velocity-based kinematic body.ActiveEvents
: ColliderDesc.setActiveEvents(ActiveEvents.PROXIMITY_EVENTS | ActiveEvents.ContactEvents)
.world.narrowPhase.contactsWith(collider1, callback)
world.narrowPhase.intersectionsWith(collider1, callback)
world.narrowPhase.contactPair(collider1, collider2, callback)
world.narrowPhase.intersectionPair(collider1, collider2, callback)
ColliderDesc.setActiveHooks(ActiveHooks.FILTER_CONTACT_PAIR | ActiveHooks.FILTER_CONTACT_PAIR)
PhysicsHooks
interface.World.step
method.ColliderDesc.setActiveCollisionTypes(ActiveCollisionTypes.ALL)