pyopenxr
pyopenxr copied to clipboard
Controller Tracking
Hi Christopher,
Thanks for your work on this repo!
I'm trying to track the handheld (vive) controllers. I see that you have an example of how to track the HMD here. When I inspect the views object. it only has 2 items (left and right eye). How am I able to include the controllers in this view?
Thanks in advance!
This is a good question I don't have a clear answer for. The hello_xr example in the pyopenxr_examples repo puts cubes on the controller positions, so the information is there. But it's somewhat confusing.
We should aim to eventually have a super simple example like track_hmd.py that shows the controller positions. Doing this properly would likely involve path strings like "/user/hand/left".
Update: There is now a track_controller.py example at https://github.com/cmbruns/pyopenxr_examples/tree/main/xr_examples that should work with today's release.
Amazing! I'll try it out today. Thanks!
@cmbruns orientation seems to be working, but the position stays constant (x=0.2, y=1.3. z=0.5). Does this happen on your end?
@stepjam Thanks for trying this out. I don't have time to investigate this right this minute. Maybe tonight or tomorrow. In the meantime, what's your system? Mine is [Windows,Linux]/SteamVR/HtcViveClassic/OpenGL.
Thanks! My system is Linux/Monado/HTCViveClassic/Vulkan
@stepjam Vive wand position tracking is working for me on Windows at least. I suspect the position tracking trouble you experienced is related to Monado. The hardware support table at https://monado.freedesktop.org/#supported-hardware includes the following:
| Device | Rotation | Position | Distortion Correction | Additional Notes |
|---|---|---|---|---|
| OSVR HDK 1.x, 2.x | Yes | No | No | Requires workaround on AMD GPUs1. Firmware fix available2 |
| HTC Vive | Yes | LH 1.0: No | Yes | Supported by OpenHMD, Monado “vive”, or Monado “survive” |
Maybe you can experiment with OpenHMD, "vive", and "survive" (whatever those are). If you gain any wisdom that might be of use to others, please consider creating a new page in the wiki here https://github.com/cmbruns/pyopenxr/wiki
I'm glad you have the monado runtime working. Please try as many of the examples as you can, to help shake out any other troubles with the monado runtime. I have not yet succeeded in getting monado working here. Your help getting monado working well with pyopenxr would be much appreciated.