demo · v131
all 26 joints, names + radii
A WebXR hand exposes 26 joints — wrist, four per finger (metacarpal, proximal, intermediate, distal), tip per finger. Each joint has a 3D pose and a radius for grasp detection. The list is the actual XRHand joint enumeration order; click a joint to highlight its position on the schematic.
session
Real values require an immersive-vr or immersive-ar session on hardware that supports
hand-tracking (Quest, AVP). On a desktop browser the schematic is illustrative — joint names and radii are the real spec values; positions are example data.
the api
// In an XR animation frame
for (const inputSource of session.inputSources) {
if (!inputSource.hand) continue;
for (const [name, jointSpace] of inputSource.hand.entries()) {
const pose = frame.getJointPose(jointSpace, refSpace);
// pose.transform.position, pose.transform.orientation
// pose.radius - sphere of contact for the joint
}
}