OpenXR HTC VIVE Tracker

We implemented a VIVE tracker extension to OpenXR for adding controller bindings and making them accessible to users. The position of trackers can also be requested and used via Python like in OpenVR. Assign trackers to objects, like seat bucks or a steering wheel. See example in C:\ProgramData\Autodesk\VREDPro-<internalVersion>\examples\vr\attachToTracker.py and the Python Documentation of vrDeviceService.

Video captions: In VRED 2024.1, we added more features for OpenXR. We have added a Vive tracker extension, so you can add the Vive trackers. Now, we can also add the Vive trackers in OpenXR like you are used to in OpenVR. However, please be aware that OpenXR requires every tracker to have a different role assigned, which you do directly in the SteamVR settings.

The OpenXR tracker looks like this and OpenXR requires that every tracker has a different role assigned. Use it to track movement and bring objects from the real work into VR.

OpenXR tracker

Use the StreamVR Settings to do this and select Controllers > Manage Trackers.

StreamVR Settings for assigning roles

In VR, once roles are assigned, when trackers are on, they will appear in your view and the StreamVR display.

Tracker Off Tracker On
Image of the controllers in the VR UI Image of the controllers in the VR UI
Note:

Since Handheld Object are currently not supported, custom controllers can be used to define them. If the same role is assigned to multiple trackers, the OpenXR runtime will choose one and this will be the only one available in VRED.

Image Depth Submission Extension

The runtime uses this extension,XR_KHR_composition_layer_depth, for a better positional timewarp of the image and is a requirement for depth testing with XR_VARJO_composition_layer_depth_test.