Using Senso Gloves with SteamVR

Overview

As a SteamVR controller, the Senso Glove DK3 utilizes not only the hand's skeleton but also bindings and render models of the controller. It defaults to simulating the Valve Index controller which supports precise hand and finger tracking features. All the configuration settings for the Senso Glove, including haptics, gesture recognition, and positioning, can be adjusted in configuration files.

To ensure that SteamVR is linked with Senso Gloves, check this folder on your PC:

C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\

It should contain several folders for drivers like oculus, htc, and among them, senso.

If it's not there, the best way is to reinstall the Senso software.

Alternatively, you can manually copy it from C:\Senso_DK3\SteamVR_driver\ including all subfolders.

Senso Gloves do not require external trackers, but for added accuracy, you can use Vive or Tundra trackers. They are pre-configured in Senso ini files; all you need is to bind a proper tracker to the Left Elbow and Right Elbow (via the SteamVR configuration interface).

After completing the calibration procedures described earlier, additional files will be created in:

C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\senso\conf\

Files connector_1.conf and connector_2.conf for left and right hands contain links to the specific VR gloves you're using, including the MAC address of the gloves and a few more parameters. If these files do not exist, you won't see any gloves in SteamVR.

Gestures

Since VR gloves don't have any buttons, a list of gestures is used to produce actions similar to pressing buttons on the controller. All gestures are pre-configured in the configuration files, either statically or via LUA scripts.

Gestures typically have some reaction time (0.5 to 2 seconds) to prevent accidental activation.

Calibration (Recentering) Pose

This gesture is a way to recenter VR gloves (in case of using them without external trackers).

Place your hand in a horizontal position with all fingers spread apart.

After 1 second, if this gesture is successfully recognized, there will be continuous vibration and the VR hand will shift. You can define the proper position at any time.

End this gesture by changing to another pose.

PS: This gesture is designed for use without trackers. With trackers, it doesn't produce any effect.

Gesture-1

System Button Click

This gesture, with the hand directed upward in a V sign, simulates the event "/input/system/click".

Gesture-2

Button 'A'

Use your thumb and little finger as shown in the image. Other fingers are not used. It will produce the /input/a/click event.

Gesture-3

Button 'B'

Similar to before, but also include your ring finger as shown in the image. It will produce the /input/b/click event.

Gesture-4

'Trigger' Event

Simply bend your index finger at any time. As a result, the value /input/trigger/value will change from 0 to 1 (click/shot in games).

Gesture-5

'Thumbstick Y axis' Event

Point at something with your index finger, with all other fingers curled. The palm should be parallel to the floor (horizontal position). This will change the thumbstick Y value, typically used for teleporting.

Gesture-7

'Thumbstick X axis' Event

The same gesture, but point at something with your index finger, all other fingers curled. Point to something located to the left or right of you, without turning your head. This will change the thumbstick X value (-1 or +1), typically used for snap turning. It has some pause, so make sure you're pointing to the right or left for at least 1 second.

Gesture-8

Using with Games

So, does it mean that any game running under SteamVR is compatible with VR gloves?

Yes and no.

Senso DK3 functions like any other controller—it provides coordinates, speed, rotation, and generates all basic events (pressing trigger, grip, thumbstick, buttons A/B, etc.). Thus, any SteamVR application can use it similarly to other controllers like Oculus Touch or Valve Index. It also provides detailed skeleton data, showing the exact angle and position of the bones of the hand, a feature especially comparable to the Valve Index, which tracks every finger separately.

However, not all applications utilize this data fully. Even if a game renders hands, it might not use the complete skeleton data; for example, it might depict fingers bending but not spreading.

Compatibility with Oculus Rift

Even if a game is available on the Steam marketplace, it doesn't necessarily use the SteamVR API if both SteamVR and Oculus are installed on the same computer. In such cases, the game might default to the Oculus API and its associated hardware.

In this scenario, the Senso DK3, which relies on the SteamVR API, would be incompatible.

However, the same game might work with Senso DK3 and non-Oculus equipment, such as an HTC Vive headset. It's possible to force most applications to use the SteamVR API by removing OVRPlugin.dll (for Unreal Engine), but this isn't universally effective.

Games Supporting Hand Skeleton Data

Here is a partial list of games that utilize hand skeleton data:

  • Moon Dust demo: Fully uses skeleton data, making hands appear natural.
  • Half Life: Alyx: Works well with any helmet; fully utilizes skeleton data, allowing full finger movements. The game uses specific bindings when interacting with objects, overriding the actual finger positions.
  • Boneworks: Offers partial finger freedom; fingers can bend but not stretch, and thumb tracking is average.
  • Beat Saber: Functions with the gloves, but as hands are not visually represented, glove use is not essential.
  • Blade & Sorcery: Similar to Boneworks, offers partial finger freedom.
  • Saints & Sinners: Incompatible with Oculus helmets even if OVRPlugin.dll is removed; the game checks internally for Oculus and requires its native mode. Works with non-Oculus helmets.
  • VR Chat: Supports partial freedom of movements.

Using VR Gloves Without External Tracking

The Senso VR gloves DK3, which lack external tracking, do not provide precise 3D positioning. Instead, they rely on angular data from IMU sensors, offering a moderate level of tracking quality. This approach does not require any existing tracking system and is compatible with any VR headset that supports SteamVR.

Understanding Angular Tracking

The tracking quality of these gloves is influenced by a combination of factors, including the vector from the elbow, the position of the helmet, angular data, and specific computational techniques. While this does not allow for exact hand movements in 3D space, it supports a different, yet effective approach to motion.

Practical Applications

For example, to interact with an object at a distance, simply extend your hand forward; your virtual arm will mirror this movement based on the angle between your wrist and elbow. Although this might initially feel unusual, many users find it surprisingly convenient and intuitive after a short period of adjustment.

This method allows for various practical actions, such as picking up items from the floor while seated or reaching objects beyond your normal reach in the real world. Moreover, the system is designed to support specific gestures that enhance typical VR actions like shooting or retrieving items from a holster, adding a layer of realism and interaction.

Customization and Adaptation

These adjustments, along with the customizable gestures, are tailored to suit individual preferences and the specific dynamics of the game being played. As such, determining whether this tracking system meets your needs is not simply a matter of 'yes' or 'no.' It is recommended to spend some time with the system to fully appreciate and adapt to its capabilities and nuances.

In conclusion, while the Senso VR gloves DK3 may not replicate the exactness of external trackers, their unique method of interpreting user movements through angular data presents a viable alternative for immersive VR experiences, particularly where conventional tracking setups are impractical or unavailable.