demo · v131
WebXR Hand Input - Level 1
Hand tracking exposes per-joint pose data for all 26 joints per hand. The button below requests an immersive-AR session with the hand-tracking feature; on devices without it you'll see the rejection, and the diagram visualises the joint layout each XRHand exposes.
probing…
joint layout
left hand (26 joints)
right hand (26 joints)
the api
const session = await navigator.xr.requestSession("immersive-ar", {
requiredFeatures: ["hand-tracking"],
});
session.requestAnimationFrame((time, frame) => {
for (const source of session.inputSources) {
if (!source.hand) continue;
const tip = source.hand.get("index-finger-tip");
const pose = frame.getJointPose(tip, refSpace);
console.log(pose.transform.position, pose.radius);
}
});