tesseract-robotics / tesseract_python

This contains python wrappers for both Tesseract and Tesseract Planning packages
https://tesseract-robotics.github.io/tesseract_python/
28 stars 13 forks source link

Add WebXR Locomotion (player movement) to tesseract_viewer_python #78

Open johnwason opened 3 days ago

johnwason commented 3 days ago

tesseract_viewer_python has long supported VR headsets using WebXR, however it has not been possible to move the player position except by physically walking around. This PR adds "locomotion" (player movement) using the right controller thumbstick to turn and move forward/backward. It also adds "drag" locomotion, where the player can "drag" the scene around by holding the "B" button on the right controller. This is inspired by the "Gadgeteer" game controller scheme (https://gadgeteergame.com/). The scene will move with the controller when B is held. Hold and release in sweeping motions for large movements. The locomotion was tested using an Oculus Quest 1.

WebXR requires HTTPS if not accessed using localhost. The shapes_viewer_ssl_webxr_headset.py example shows how to use the new ssl_context parameter to use HTTPS. The user will need to accept the security warning to use the self-signed certificate when connecting to the viewer web server.