OneBonsai Posted November 20, 2023 Share Posted November 20, 2023 Hi there, I'm looking to integrate the HTC Vive Focus 3 business streaming solution with multiple (15) reliable Vive 3.0 trackers, as the Focus 3 supports only up to 2 controllers/wrist trackers. I've tested the OpenVR Space Calibrator but found it inconsistent, experiencing visible lag between the two systems. I've noticed that others have managed to set the trackers as TrackingOverrides for "/user/head" and got that to work as well. However, I'm currently facing an issue where my image is slightly skewed, even though the tracker is aligned and set as the camera. I haven't figured out how to set a permanent offset for the headset tracker. At the moment, I'm adjusting the position in the head section of the tracker config by uploading it with the lighthouse_console.exe, which looks as follows: Quote "head": { "plus_x": [ 1, 0, 0 ], "plus_z": [ 0, 0, -1 ], "position": [ 0, 0, 0.13150000001303852 ] }, This without success so far. If you have any clues on which parameters to tweak please let me know. Thank you! Link to comment Share on other sites More sharing options...
Alex_HTC Posted November 20, 2023 Share Posted November 20, 2023 @OneBonsai Howdy! I think i'm missing the question here -- if i understand correctly, you're overriding the output of /user/head and then getting an unexpected head position in the headset. This sounds like the desired output. I'm not sure what causes the lag that required one to use such a workaround though, so I can't comment fully on the wisdom of trying to use the head as an output position. Trying to interpret this another way - if you're using a tracker as a proxy for the head position, then the geometry/orientation of the puck would be different than that of an actual headset. "forward"/etc might not be what you would expect and would require some fiddling. Link to comment Share on other sites More sharing options...
OneBonsai Posted November 20, 2023 Author Share Posted November 20, 2023 We build training simulators for police, when they notice a slight lag or de-sync they lose immersion and blame the software. We have a fully working setup with Vive Pro 2 wireless and 3 accessories per person and the tracking hasn't let us down ever so far. I tested the htc vive focus 3 with openvr space cal about a year ago and found it wasn't good enough for our use case compared to our existing setup. Still we like the Wifi 6E streaming possibilities and the easier setup that the focus 3 offers and want to combine all the good stuff of both worlds. So yes, I'd like to fiddle, if you have more information on how to solve/fiddle this I'd be glad to hear it. Link to comment Share on other sites More sharing options...
Alex_HTC Posted November 20, 2023 Share Posted November 20, 2023 @OneBonsai Howdy! 🙂 Thank you for sharing the specifics of your setup and the challenges you're facing. It's clear that maintaining a high level of immersion is crucial for your training simulators, and every detail counts. Regarding the use of the head position as the position of the puck, I understand that this approach is intended to optimize tracking accuracy and reduce latency. This decision appears to be driven by the need for precise, real-time tracking, which is essential in your use case. The differences between the head and puck in terms of tracking behavior, such as default polling frequency and interpolation settings, could indeed play a significant role in the performance you're observing. To delve deeper into this, it would be helpful to know more about the technical environment of your setup: Engine and SDK Details: What game engine are you using, and which version is it? Are you utilizing our native 'Wave' SDK, OpenXR, or another SDK? Knowing the version of the SDK and, if applicable, the version of the XR interaction system in Unity, will be crucial. These details are important as the solution might involve tweaking engine settings or modifying how data is polled from the input system. Physical Environment Considerations: Reflective surfaces and physical obstructions in the tracking environment can affect tracking quality. Evaluating these factors could provide insights into the discrepancies you're experiencing. Firmware of the Trackers: Ensuring that all trackers are updated to the latest firmware is essential. Here's a link for reference and guidance on updating the firmware: Vive Tracker Firmware Update. OpenXR Backend: Are you using the Vive or Steam runtime backend for OpenXR? Switching between these might resolve some tracking inconsistencies. How to setup correct OpenXR runtime https://service.viveport.com/hc/en-us/articles/4423262844813-How-to-setup-correct-OpenXR-runtime Finally, revisiting the initial configuration and recalibration of devices could be a necessary step. In some cases, recalibration can significantly improve tracking performance and accuracy. We're always excited to hear about more great realistic training simulations, and your persistence is commendable. I'm eager to assist in resolving these challenges. Any additional information you can provide regarding the above points will be instrumental in finding a suitable solution. Thanks, Alex Link to comment Share on other sites More sharing options...
Alex_HTC Posted November 20, 2023 Share Posted November 20, 2023 @OneBonsaiI'd be remiss if i iddn't mention the developer guidelines which may help with some of the orientation/etc questions https://developer.vive.com/resources/hardware-guides/vive-tracker-developer-guidelines/ Along with another great overview here: And perhaps some other ways to offset position and set the role using other mechanisms https://forum.htc.com/topic/9821-tracked-object-orientation-problem-htc-vive-tracker/#comment-41135 https://forum.unity.com/threads/how-to-flip-vive-tracker-from-horizontal-to-vertical-zero-position.879517/ Link to comment Share on other sites More sharing options...
Alex_HTC Posted November 21, 2023 Share Posted November 21, 2023 @OneBonsai Another line of thinking -- configuration other than just firmware and environment: If unity: Don't forget to check the 'move deadzone' and 'drag threshold multiplier' settings here and tune as appropriate https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.5/manual/ui-setup.html and if using interactables, then there are a number of smoothing/damping options that would cause this as well https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.5/manual/general-setup.html Other folks seem to report having general success at getting updates from these at 90hz as well (and are able to swing this on a rope around their head at high speed and get reliable updates) So another approach would be to look at the debugger and log the behavior https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.5/manual/debugger-window.html Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now