Share

Virtual Reality Preferences

Find out about the Virtual Reality preferences for customizing settings for general VR interaction, teleport, and HMD use.

In the Menu Bar, click Edit > Preferences, then on the left side of the dialog box, select Virtual Reality. After making any changes, press Apply and OK to save them.

Use the Virtual Reality preferences to customize interaction setting for visualization, tooltips, object collision, and teleport, as well as eye tracking, foveated rendering, and StarVR use. These options can be found in one of two tabs, Interaction or HMD. Use the OpenXR tab for customizing or resetting controller bindings. Once everything is set, click Apply.

Virtual reality preferences update

learnMore icon For information on editing or resetting preferences, see Editing Preferences.

Interaction Tab

Use these parameters to set the default general, hand tracking, teleporting, and marker tracking interactions in VR.

General

  • Default Visualization - Sets whether the initial session starts with VR hands or controllers displayed.

  • Show Tooltips - Sets the default visibility behavior for controller tooltips. By default, this option is toggled on, displaying tooltips for the controller.

  • Create Collision Objects - Sets the default state for the creation of collision objects for all touch sensors and WebEngines in the scene. When disabled, you cannot interact with touch sensors and WebEngines when using VR Hands.

Hand Tracking

Only available for Varjo XR-3 users.

Sets the default state for enabling hand tracking and setting translational and rotational hand offset for tracked hands.

For Varjo XR-3 users, enabling hand tracking in the preferences automatically activates it for VR or XR.

  • Use Tracked Hands in VR - Only available for Varjo XR-3 users. Sets the default to always track hands in VR when enabled. If Tracker is set to Varjo Integrated Ultraleap, hand tracking is also enabled in XR for supported HMDs.

  • Tracker - Only available for Varjo XR-3 and VR-3 users. Sets the default system used for hand tracking.

    • Varjo users need to enable Varjo Integrated Ultraleap.
    • To use other hand tracking devices, select Custom.

    Setting up Hand Tracking for Other Devices

    For the Custom Tracker option, you must provide all the tracking data to VRED's Python interface. How to do this can vary from device to device; however, if you can access the tracking data via Python script, the data needs to be set into the vrdTrackedHand objects returned by the methods used. This requires the transformation data of the tracked hand and/or different finger joints (see the externalHandTracking.py example file for how this works).

    For testing, set the corresponding preferences, load the script, and enter VR. You may have to modify the script by changing values for hand and/or joint transforms to understand how everything works.

  • Translation Offset - Set the default translational tracking offset from the hands. Use this to adjust any offset between the tracked hands and the hands rendered in VR.

  • Rotational Offset - Set the default rotational tracking offset from the hands. Use this to adjust any offset between the tracked hands and the hands rendered in VR.

Teleport

Sets the default state for the teleporting mode and range.

  • Availability - Sets the default mode in which you can teleport. Choose from only teleport in VR or in both VR and MR.

  • Ground Mode - Sets the default mode when teleporting to teleport onto models or into an area around them.

    Important:

    To teleport into a vehicle or anywhere on the ground plane, select On Ground Plane. When On Geometry is selected, you can teleport onto geometry, but not into it.

  • Range - Sets the default limit for how far you can teleport within the scene.

Pointer

Use these options to improve the experience when close to an object and using the laser pointer. The sphere at the end of the pointer can be too big when used close to an object.

Point and sphere issue

Since, as you get closer to or farther from an object and the sphere size and diameter of the laser change, use these options to sets the ideal size and diameter for both.

Point and sphere size changed

  • Scaling Distance - Defines the distance at which the pointer is at full size (100% object scale).
  • Sphere Scale Range - Defines and minimum and maximum size of the sphere (1 = 100% object scale). When the Scaling Distance is reached, so is the maximum size of the sphere.
  • Ray Scale Range - Defines the minimum and maximum size of the ray diameter (1.00 = 100% object scale). When the Scaling Distance is reached, so is the maximum diameter of the ray.

Marker Tracking

The marker tracking system detects each marker and assigned a confidence value to it, ranging from 0.0 to 1.0.

  • 0.0 means the system deems the detected result (marker ID and position) 100% incorrect.

  • 1.0 means the system deems the detected result (marker ID and position) 100% correct.

For example, a marker that gets a value of 0.9 means there is a 90% confidence in the correctness of the marker's position and IDs.

  • A marker with a low confidence value appears to be jumping around. Setting the minimal accepted confidence to a higher value makes the system ignore unreliable detected results.

  • A marker that was detected with high confidence value, but later is detected to have a confidence value lower than the minimum value will be ignored and its position will not be updated.

For more information on using markers, see Markers in Mixed Reality.

  • Min Marker Confidence - Sets the default minimum value used by the marker tracking system to determining if the detected marker position is correct.

HMD Tab

Use these parameters to set the default HMD settings for eye tracking, foveated rendering, and HMD-specific options. These are disabled by default.

Eye Tracking

VRED currently supports eye tracking for the HTC VIVE Pro Eye and the StarVR headsets.

  • Eye Tracking - Sets the default eye tracking behavior. This is disabled by default. When enabled, the HMD tracks your eye movement. This data is used by Foveated Rendering when it is enabled to determine which areas need high-resolution rendering.

Foveated Rendering

The OpenGL Shading Rate extension is required for Foveated Rendering and is only available on NVIDIA RTX cards (Turing architecture).

This improves performance by reducing the peripheral image quality and is used with Eye Tracking.

  • Foveated Rendering - Sets the default foveated rendering state. This is disabled by default. When enabled, eye-tracked areas are rendering in high resolution and peripheral areas in low resolution.

    Note:

    This option is currently not supported for Varjo and StarVR headsets. For other headsets that don't have eye tracking, you can enable the Foveated Rendering preference option for VR. However, since your eyes cannot be tracked, the foveal region will not move. It will remain fixed to the center of the image.

    Note:

    If a message appears regarding the OpenGL Shading Rate Image extension, this is because Foveated Rendering is only available on NVIDIA RTX cards (Turing architecture).

  • Foveal Region Size - Sets the default size of the foveal region, which is oval shaped.

    Note:

    A new Python service vrHMDService has been added for access to foveated rendering settings.

  • Shading Quality - Sets the default level used for foveated rendered shading. There are three image regions with foveated rendering that can be rendered with different shading qualities:

    • Inner - The foveal region
    • Middle - The transition zone between the inner and periphery
    • Periphery - The outer periphery region

    Foveated Genisis example

    The above rendered image shows the following qualities:

    • Inner - 4 Samples (supersampling shading with 4 samples per pixel)
    • Middle - 1 Sample (native pixel shading 1x1)
    • Periphery - 1 Sample per 4 Pixels (coarse shading with 1 sample per 4x4 pixel block)

    Use either a preset or select Custom to set up your own shading qualities. Normally, the innermost region is rendered with the best quality, compared to the other two, with the periphery being the lowest.

    • Highest Performance - Uses a lower visual quality, but provides the highest performance, by using coarse shading in the periphery.

    • Balanced and Highest Quality - Improves the visual quality, which is especially noticeable for materials with small repeating patterns, such as the Carbon material, or with certain textures.

      Visual quality is improved due to the use of supersampling shading qualities, which can be 2x (2 Samples), 4x (4 Samples), or 8x (8 Samples).

      Important:

      The supersampling shading quality only takes effect if at least the same amount of samples are rendered with multisample antialiasing (realtime antialiasing).

      A hint is displayed next to the Shading Quality setting in the Foveated Rendering preferences providing the minimum number of required samples. Activate the level of realtime antialiasing that has a sufficient number of samples. By default, Low uses 2, Medium 4, and High 8 samples.

      For example, if the hint indicates that at least 4 samples are needed, activate either Medium or High realtime antialiasing. The Realtime Antialiasing samples can be changed in the preferences (Edit > Preferences > Render Options > Visualization Advanced tab > Realtime Antialiasing Presets).

      The specific qualities of the presets are:

      Preset Inner (Foveal) Middle Quality Periphery Quality
      Highest Performance 1 Sample 1 Sample per 4 Pixels 1 Sample per 16 Pixels
      Balanced 4 Samples 1 Sample 1 Sample per 4 Pixels
      Highest Quality 8 Samples 4 Samples 2 Samples

      • Custom - Provides full control over individual qualities and exposes the Custom Quality section.

  • Custom Quality - Sets the default custom foveated rendering shading quality for the inner, middle, and periphery image regions.

    • Inner - The foveal region

    • Middle - The transition zone between the inner and periphery

    • Periphery - The outer periphery region

      Select one of the following options for each parameter:

    • 1 Sample - This is the standard shading quality which doesn't use foveated rendering.

    • 1 Sample per 4 Pixels and 1 Sample per 16 Pixels - Shaders with lower shading qualities are evaluated less often. The result of a material evaluation is used for multiple pixels (e.g., 1 Sample per 4 Pixels is coarse shading with 1 sample per 2x2 pixel block).

    • 2 Samples, 4 Samples, 8 Samples - Materials with higher shading qualities are evaluated up to 8 times per pixel.

      Note:

      Displacement materials with accurate silhouettes are currently always evaluated with standard shading quality.

Varjo

These options are specific to a Varjo HMD for settings the default native foveated rendering state, the mode you enter, and hand depth.

Once your preferences have been set, click Apply and OK to save these settings.

  • Native Foveated Rendering - Requires Eye Tracking to be enabled. Sets the default state for how things in the periphery are rendered. When enabled, peripheral resolution (image quality) is reduced; however, areas tracked by your eye are still rendered at high resolution. This improves performance in scenes with compute intensive materials, and when using real-time antialiasing. For more information on foveated rendering and the different settings, see Custom Quality.

  • Default Mode - Sets the default viewing mode for a Varjo HMD. If you always work in mixed reality, set this to MR.

  • Depth Estimation - Sets the default state for real-world hands in XR. When enabled, it detects your real-world hands in the mixed reality video and shows them in front of a virtual object, if they are closer than the object. When disabled, the rendering from VRED will always occlude the real hands, even if the hands are closer than the rendered object.

    Depth Estimation OFF Depth Estimation ON
    Depth Estimation OFF Depth Estimation ON

OpenXR

Use the OpenXR tab for setting controller bindings for devices using OpenXR.

Important:

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 MR Motion, and HP MR.

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

Configuring a Controller

To customize the configuration of your controller buttons, do the following:

  1. In the Virtual Reality preferences, select OpenXR.

  2. Select your controller from the Controller Type drop-down menu.

  3. If you want each controller to have different bindings, enable the Left = Right checkbox; otherwise, ensure it is disabled.

  4. Open the drop-down menu next to each action and select an option.

    Tip:

    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.

  5. When finished, press Apply.

Setting Independent Controllers

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.

Resetting Controller Bindings

To reset all controller bindings to their default values, in the OpenXR tab of the Virtual Reality preferences, press Set To Default.

Adding Additional Controllers

You can add other controllers and customize their bindings.

  1. In the Virtual Reality preferences, select OpenXR
  2. Press Add Controller, then select a controller type from the drop-down menu.
  3. Set the controller bindings.
  4. When finished, press Apply.

Disabling an Action

To disable an action, so it is not accessible in a session, do the following:

  1. In the Virtual Reality preferences, select OpenXR.
  2. Select the desired action from the list.
  3. Open the drop-down menu next to the action and select None. Now, the action cannot be triggered during a session.

In the future, to make the action accessible, select a target from its drop-down, such as Menu Click or X Touch.

Disabling a Controller Button

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.

Disabling a Controller Button

OpenVR

Use the OpenVR tab for blocking specific devices using OpenVR.

  • Blocked Input Devices - Provides a list of OpenVR input device models or serial names which will be blocked on registration. The following options are also available by right-clicking within this area.

    Create Create - Creates a field for entering a device model or serial name.

    Edit Edit - Enables the editing of a device model or serial name.

    Delete Delete (Del) - Deletes the selected device model or serial name.

Was this information helpful?