C Specification

The XrBodyJointHTC enumeration is defined as:

// Provided by XR_HTC_body_tracking
typedef enum XrBodyJointHTC {
    XR_BODY_JOINT_PELVIS_HTC = 0,
    XR_BODY_JOINT_LEFT_HIP_HTC = 1,
    XR_BODY_JOINT_LEFT_KNEE_HTC = 2,
    XR_BODY_JOINT_LEFT_ANKLE_HTC = 3,
    XR_BODY_JOINT_LEFT_FEET_HTC = 4,
    XR_BODY_JOINT_RIGHT_HIP_HTC = 5,
    XR_BODY_JOINT_RIGHT_KNEE_HTC = 6,
    XR_BODY_JOINT_RIGHT_ANKLE_HTC = 7,
    XR_BODY_JOINT_RIGHT_FEET_HTC = 8,
    XR_BODY_JOINT_WAIST_HTC = 9,
    XR_BODY_JOINT_SPINE_LOWER_HTC = 10,
    XR_BODY_JOINT_SPINE_MIDDLE_HTC = 11,
    XR_BODY_JOINT_SPINE_HIGH_HTC = 12,
    XR_BODY_JOINT_CHEST_HTC = 13,
    XR_BODY_JOINT_NECK_HTC = 14,
    XR_BODY_JOINT_HEAD_HTC = 15,
    XR_BODY_JOINT_LEFT_CLAVICLE_HTC = 16,
    XR_BODY_JOINT_LEFT_SCAPULA_HTC = 17,
    XR_BODY_JOINT_LEFT_ARM_HTC = 18,
    XR_BODY_JOINT_LEFT_ELBOW_HTC = 19,
    XR_BODY_JOINT_LEFT_WRIST_HTC = 20,
    XR_BODY_JOINT_RIGHT_CLAVICLE_HTC = 21,
    XR_BODY_JOINT_RIGHT_SCAPULA_HTC = 22,
    XR_BODY_JOINT_RIGHT_ARM_HTC = 23,
    XR_BODY_JOINT_RIGHT_ELBOW_HTC = 24,
    XR_BODY_JOINT_RIGHT_WRIST_HTC = 25,
    XR_BODY_JOINT_MAX_ENUM_HTC = 0x7FFFFFFF
} XrBodyJointHTC;

Description

It is used to index into a joint location array when the joint set in use (XrBodyJointSetHTC) is XR_BODY_JOINT_SET_FULL_HTC.

This extension defines 26 joints for body tracking: 6 joints for the torso, 5 joints for each arm, 4 joints for each leg, and the other 2 joints for the head and neck. The definitions of these joints are based on human skeletal joints.

As shown in the figure below, the following conventions are stated with a T-shape body pose in which the palms are facing down to the ground.

The right direction (+X) is pointing from left hand to right hand in T-pose.

The up direction (+Y) is pointing from foot to head in T-pose.

The Z direction is perpendicular to X and Y and follows the right hand rule in T-pose.

Convention of body tracking joints

See Also

Document Notes

For more information, see the OpenXR Specification

This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2025 The Khronos Group Inc.