Due to more HMDs adapting OpenXR, we've added support for it. OpenXR is the new open standard for XR (VR/AR/MR) applications and boosts your experience, and for this release of VRED, works with VR devices, tethered or not. It also includes hand tracking to controller input simulation, so that devices using OpenXR can also use hand tracking directly in VRED.
For this first iteration of our OpenXR integration in VRED, not every OpenXR extension is implemented, yet. For example, we currently support several controllers and hand tracking, but it is not yet possible to display the controller-based blue hands, instead of the 3D controller model.
Here is a list of other features are not yet implemented:
To use OpenXR, simply select the appropriate display mode in the View settings (View > Display > OpenXR HMD).
The following controllers are supported for OpenXR use in VRED. Click the links to see the default controller bindings for each controller.
Supported Controllers | For OpenXR Use |
---|---|
HTC Vive | |
HTC Vive Cosmos | |
HP MR (HP G2+ MS Motion 2nd generation) | |
MS MR Motion (Windows Mixed Reality 1st generation) | |
Oculus Touch |
To use OpenXR, you must be using the correct runtime. If you are not, a notification is displayed.
The Windows Mixed Reality runtime is currently not supported directly by VRED. Windows Mixed Reality headsets can only be used via StreamVR.
To change the runtime, do the following:
For OpenXR, you can now manage your controller bindings in the SteamVR settings.
Go to Settings > Manage Controller Bindings > select VREDPro from the drop-down menu.
Set the active controller binding to Custom.
Edit the binding.
For the customization of VRED settings to work as expected, it is important that the settings in SteamVR are reset to default (Active Controller Binding = Default). Otherwise, they will overwrite the controller binding setting in VRED
For the customization in VRED controller settings to work as expected, it is important that the SteamVR settings are reset to default (Active Controller Binding = Default). Otherwise, they will overwrite the controller bindings setting in VRED.
To use OpenXR with SteamVR, enable the OpenXR runtime in the SteamVR settings. Select Settings > Developer, then set Current OpenXR Runtime to SteamVR. It’s also possible to use the OpenXR runtime of Oculus and Varjo Base (System > Compatibility > enable: OpenXR).
An OpenXR tab was added with the following options to the Virtual Reality preferences for setting controller bindings. Use them to do the following:
When changing the OpenXR controller bindings, VRED will need to restart the session. Click OK in the notification to restart the session and apply the new bindings.
Note that setting the controller bindings in VRED will only suggest these mappings to the active OpenXR runtime. The runtime can still decide to ignore these suggestions. In this case, you need to configure the mapping in the corresponding runtime. See Managing Controller Bindings for SteamVR.
Controller Type - Set the type of controller used. Choose from: HTC Vive, HTC Vive Cosmos, Oculus Touch, Microsoft Motion, and HP Motion.
Left = Right - Set controller mapping as the same for both left and right controllers, when enabled. When disabled, the left and right controllers can have different bindings for a controller method and action.
Now, for each action, select its controller binding from the dropdown menu next to the action. When finished, press Apply.
Place Snap – Set the controller input used for activating the snap function of the Place tool.
Pointer Execute - Set the controller input used for using the pointer.
Pointer Ray Pose - Set the controller input used for positioning the pointer ray.
Pointer Show - Set the controller input used for displaying the pointer ray.
Teleport Execute - Set the controller input used for teleporting.
Teleport Ray Pose - Set the controller input used for positioning the teleport ray.
Teleport Show - Set the controller input used for displaying the teleport ray.
VR Menu Position - Set the controller input used for positioning the menu.
VR Menu Show - Set the controller input used for displaying and hiding the menu.
Set To Default - Removes any changes to the controller bindings, reverting all back to the defaults.
Add Controller - Add and set another type of controller. To remove a controller, click Remove Controller.
The controller inputs that can be selected for an action depend on the type of action. For example, an action that just activates something, such as Pointer Show, will not work with a pose input.
Note that there are two pose inputs, position and orientation, for each controller:
To customize the configuration of your controller buttons, do the following:
In the Virtual Reality preferences, select OpenXR.
Select your controller from the Controller Type drop-down menu.
If you want each controller to have different bindings, enable the Left = Right checkbox; otherwise, ensure it is disabled.
Open the drop-down menu next to each action and select an option.
Actions can be disabled, so they are not accessing. For instructions, see Disabling an Action. Controller buttons can also be disabled. For instructions, see Disabling a Controller Button.
When finished, press Apply.
It is possible to set the left and right controllers independent of one another when customizing your controller bindings.
To do this, in the OpenXR tab of the Virtual Reality preferences, enable the Left = Right checkbox.
To reset all controller bindings to their default values, in the OpenXR tab of the Virtual Reality preferences, press Set to Default.
You can add other controllers and customize their bindings.
To disable an action, so it is not accessible in a session, do the following:
In the future, to make the action accessible, select a target from its drop-down, such as Menu Click or X Touch.
Any controller button can be disabled through the OpenXR tab in the Virtual Reality preferences. In the controller bindings list, ensure the button is not assigned to an action. If it is, select another option from the action's drop-down menu.