ValveSoftware / openvr

OpenVR SDK
http://steamvr.com
BSD 3-Clause "New" or "Revised" License
6.08k stars 1.28k forks source link

Issue with using a custom OpenVR Driver for tracking override via Antilatency. #1767

Open RomanVolvenkov opened 1 year ago

RomanVolvenkov commented 1 year ago

Hello!

We currently have an issue with our custom OpenVR driver to override HMD tracking via 3rd party tracking systems (Antilatency). While it's working absolutely fine for wired HTC Vive PRO 2, any wireless devices (we tried Quest 2, Vive Focus 3, Pico4) have a similar issue: the orientation in the headset display is completely wrong, while the Steam stream shows a normal picture.

However, if we align the headset position to the Antilatency coordinate system and only then turn it on, the orientation will be normal. But if the Headset goes into sleep mode, it's completely broken again. Few pictures to show the issue (from Headset and PC views):

  1. 45 degrees to the left: image image

  2. 45 degrees to the right: image image

  3. Alligned orientation: image image

We assume that steamVR renders the picture according to Antilatency data, but the Headset is warping the data according to it's own system. Does anyone has a similar issue with any kind of 3rd party custom tracking?

TheDeveloperGuy commented 1 year ago

This will be an issue with any headset that has a runtime that does its own ATW (Quest, Rift, Pico, WMR). You'll have to work out the offset between your yaw center and the headset's yaw center and adjust your tracking's yaw accordingly.

TheDeveloperGuy commented 1 year ago

Alternatively you can ignore your tracking's 3DOF and transform your positions (headset, controllers) from your tracking's orientation to the headset's (will also need to know the yaw offset).

RomanVolvenkov commented 1 year ago

This will be an issue with any headset that has a runtime that does its own ATW (Quest, Rift, Pico, WMR). You'll have to work out the offset between your yaw center and the headset's yaw center and adjust your tracking's yaw accordingly.

Thanks a lot for your help! We will try to make some adjustments according to this information

duguguang commented 9 months ago

Replying to https://github.com/ValveSoftware/openvr/issues/1767#issue-1909167319

i am interested in how to disable or combine the wireless devices's tracking like pico in the driver, cause i have tried but failed, can you share the idea