Controller overlays

The Strivr SDK provides controller overlay sprites that signal the action to which each controller input corresponds. These overlays fade into view as the controller nears the user’s face.

controllers angle fade
controller sprites

Overlay sprites

The following overlays are included:

Command Sprite/Icon

Pause/Resume

pause resume

Teleport

teleport

Snap turn left/snap turn right

snap-left snap-right

Grab/Select

grip

Grab/Select

trigger

Home button (Off by default for Quest 2 and HTC Vive XR Elite controllers)

home

When overlays appear to the user

Two factors determine when overlays appear to the user: proximity and angle. Proximity must be checked in order for overlays to appear at all. There is also a "fade with angle" option that sets an alpha transparency on these overlays depending on the "max fully opaque angle" and "max visibility angle".

controller sprite render angles
  1. Disappear with Proximity details: The default for proximity between the controller and head is set at 0.5f, meaning that the distance between the controller and head must be less than 0.5f.

  2. Fade with Angle details: The angle is a function between the controller’s forward vector on the z-axis and the head-up vector on the y-axis. If the controller is pointed perpendicular to the user’s head-up axis, then the angle is at 90 degrees. If the controller is pointed parallel to the user’s head-up axis, then the angle is at 0 degrees. By default, the alpha transparency of the sprites increases across the spread of 70 degrees (0 is the alpha value at 70 degrees) - 45 degrees (1 is the alpha value at 45 degrees), meaning that as the user points their controller away from their head, transparency of these overlays increases; conversely, when the user points their controller toward their head, the opacity of these overlays increases.

Modifying overlays

overlay settings
  1. To turn off an overlay completely, uncheck the checkbox for that overlay.

  2. To modify the angle at which overlays appear fully opaque, enter a numeric value for Max fully opaque angle.

  3. To modify the greatest angle at which overlays appear visible, enter a numeric value for Max visibility angle.

  4. To have the overlays remain visible even when far away from the headset, uncheck Disappear with proximity.

  5. To remove the fade-in/fade-out effect, uncheck Fade with angle.

Controller dead zones

In the Strivr XR rig, controller dead zones have been defined to prevent users from teleporting when they mean to rotate.

controller dead zones

The default dead zone values are between 30° and 60°, between 120° and 150°, and between 210° and 330° (on a clock face, between 1 o’clock and 2 o’clock, between 10 o’clock and 11 o’clock, and between 4 o’clock and 8 o’clock).

You can adjust dead zone values in Packages/Strivr SDK/Runtime/Resources/Strivr XRI Default Input Actions.inputactions, in XRI LeftHand Locomotion and XRI Righthand Locomotion.

dead zone settings