pyopenxr icon indicating copy to clipboard operation
pyopenxr copied to clipboard

Controller Tracking

Open stepjam opened this issue 3 years ago • 8 comments

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!

stepjam avatar Jun 08 '22 23:06 stepjam

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".

cmbruns avatar Jun 12 '22 03:06 cmbruns

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.

cmbruns avatar Jun 26 '22 04:06 cmbruns

Amazing! I'll try it out today. Thanks!

stepjam avatar Jul 01 '22 17:07 stepjam

@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 avatar Jul 01 '22 18:07 stepjam

@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.

cmbruns avatar Jul 01 '22 19:07 cmbruns

Thanks! My system is Linux/Monado/HTCViveClassic/Vulkan

stepjam avatar Jul 01 '22 19:07 stepjam

@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.

cmbruns avatar Jul 02 '22 01:07 cmbruns