Skip to content

Joints

A joint constrains two rigid bodies relative to each other.

Joints are authored in ordinary project source through @react-three/rapier — the engine ships the PhysicsAdapter observation protocol, not a second physics authoring format. A component holds refs to the two bodies and calls the appropriate joint hook.

fixed, revolute, prismatic, spherical, and spring joints
The five joint types.
HookConstraint
useFixedJointWelds two bodies rigidly together.
useRevoluteJointA hinge around one axis.
usePrismaticJointA slider along one axis.
useSphericalJointA ball-and-socket.
useRopeJointLimits the bodies to a maximum separation.
useSpringJointA soft constraint with rest length, stiffness, and damping.

Each hook takes refs to two RigidBody instances plus the native tuple documented by @react-three/rapier: local anchors, and then the joint-specific frames, axis, limits, length, stiffness, or damping. The returned ref is Rapier’s own impulse-joint object.