This extension defines a new interaction profile for HTC VIVE Tracker. HTC VIVE Tracker is a generic tracked device which can be attached to anything to make them trackable. For example, it can be attached to user’s hands or feet to track the motion of human body. It can also be attached to any other devices the user wants to track and interact with.
In order to enable the functionality of this extension, you must pass the name of the extension into CreateInstance via the XrInstanceCreateInfo enabledExtensionNames parameter as indicated in the extensions section.
This extension allows:
The paths of a VIVE tracker contains two paths below:
NULL_PATH if it has not been assigned. If this role path refers to more than one tracker, the runtime should choose one of them to be currently active. The role path may be changed during the lifetime of instance. Whenever it is changed, the runtime must send event TYPE_EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX to provide the new role path of that tracker.
XR_NULL_PATHhandheld_objectleft_footright_footleft_shoulderright_shoulderleft_elbowright_elbowleft_kneeright_kneeleft_wrist (rev: 3)right_wrist (rev: 3)left_ankle (rev: 3)right_ankle (rev: 3)waistchestcamerakeyboardXrActionCreateInfo::subactionPath into function CreateAction or XrActionSpaceCreateInfo::subactionPath into function CreateActionSpace. Please see Example 1 below.As with other controllers, if a VIVE tracker is connected and bound to a top-level user path, or disconnected while bound to top-level user path, the runtime must send event TYPE_EVENT_DATA_INTERACTION_PROFILE_CHANGED, and the application may call GetCurrentInteractionProfile to check if the tracker is active or not.
The device that a tracker is attached to probably has a different motion model than what the tracker assumes. The motion tracking might not be as expected in this case.
| Modifier and Type | Field and Description |
|---|---|
| public static final String | XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME
The extension name. |
| public static final int | XR_HTCX_vive_tracker_interaction_SPEC_VERSION
The extension specification version. |
| public static final int | XR_TYPE_EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX
Extends |
| public static final int | XR_TYPE_VIVE_TRACKER_PATHS_HTCX
Extends |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public static int | nxrEnumerateViveTrackerPathsHTCX(XrInstance instance, int
the capacity of the pathsCapacityInput, long pathsCountOutput, long viveTrackerPaths)viveTrackerPaths, or 0 to retrieve the required capacity.Unsafe version of: |
| public static int | xrEnumerateViveTrackerPathsHTCX(XrInstance
an instance previously created. instance, IntBuffer a pointer to the count of pathsCountOutput, XrViveTrackerPathsHTCX.XrViveTrackerPathsHTCX viveTrackerPaths written, or a pointer to the required capacity in the case that pathsCapacityInput is insufficient.a pointer to an array of viveTrackerPathsXrViveTrackerPathsHTCX VIVE tracker paths, but can be NULL if pathsCapacityInput is 0.Enumerates all connected VIVE trackers. |
| XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME | back to summary |
|---|---|
| public static final String XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME The extension name. | |
| XR_HTCX_vive_tracker_interaction_SPEC_VERSION | back to summary |
|---|---|
| public static final int XR_HTCX_vive_tracker_interaction_SPEC_VERSION The extension specification version. | |
| XR_TYPE_EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX | back to summary |
|---|---|
| public static final int XR_TYPE_EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX Extends Enum values: | |
| XR_TYPE_VIVE_TRACKER_PATHS_HTCX | back to summary |
|---|---|
| public static final int XR_TYPE_VIVE_TRACKER_PATHS_HTCX Extends Enum values: | |
| HTCXViveTrackerInteraction | back to summary |
|---|---|
| protected HTCXViveTrackerInteraction() | |
| nxrEnumerateViveTrackerPathsHTCX | back to summary |
|---|---|
| public static int nxrEnumerateViveTrackerPathsHTCX(XrInstance instance, int pathsCapacityInput, long pathsCountOutput, long viveTrackerPaths) Unsafe version of:
| |
| xrEnumerateViveTrackerPathsHTCX | back to summary |
|---|---|
| public static int xrEnumerateViveTrackerPathsHTCX(XrInstance instance, IntBuffer pathsCountOutput, XrViveTrackerPathsHTCX. Enumerates all connected VIVE trackers. C SpecificationThe
Description
Valid Usage (Implicit)
Return Codes
See Also
| |