OpenXR Integration

OpenXR Integration

antonio_mignano
Observer Observer
238 Views
1 Reply
Message 1 of 2

OpenXR Integration

antonio_mignano
Observer
Observer

Hello, I'm trying to develop a Python Plugin using Quest 3 and AVP for XR and have few questions about plugin developments:

 

- Is it possible to get a pointer to the OpenXR instance to call some custom functions from our OpenXR API layer?

- Is it possible to disable keyboard input during XR sessions so that accidental keypresses don't interfere with our alignment?

- Is it possible to disable XR navigation during XR sessions so that accidental hand inputs don't interfere with our alignment?

- Is it possible to programmatically control the viewpoint root matrix during XR (not the camera one, really the root of tracking) ?

- Is it possible to create some VRED genuine UI (like the one of Transform window for example without redoing it from scratch) ?

- For now we need to manually add some exceptions to allow some python features in General Settings / Script / Allowed Modules, is there a way to add this exception with an installer ?

- Is there an official way to make a python plugin with multiple files (for now we rely on some hacks) ?

0 Likes
239 Views
1 Reply
Reply (1)
Message 2 of 2

paul_george45MHL
Explorer
Explorer

Hi, we've since solved points 2, 3, and 4 on our side:

  • Disable keyboard input during XR: Install a Qt event filter (QCoreApplication.instance().installEventFilter(...)) that intercepts QEvent.KeyPress/KeyRelease events when XR is active. Set it up at VR start, remove it at VR stop.
  • Disable XR navigation: Deactivate the teleport/fly interactions via vrDeviceService.getInteraction() — you can toggle them on and off as needed.
  • Control viewpoint root matrix: The key is vrCameraService.getActiveCamera() — from there you can use getTrackingMatrix() and getWorldTransform() to deduce the tracking origin, then set it with setWorldTransform().

Still very interested in answers for the remaining points, especially OpenXR instance access and reusing native VRED UI widgets.

0 Likes