Vizard 8 » Reference » Input Devices » Gloves » Manus VR Gloves
8.0

Manus VR Gloves

This plug-in provides support for Manus VR gloves.

Initialization

The Manus VR plug-in is implemented as a Vizard extension, manus.dle. In order to use the plug-in you must first install the glove drivers and software provided by Manus VR. We recommend calibrating the glove for each user through the Manus VR software before using it with Vizard.

NOTE: To use the Prime 3 gloves with Vizard, you must have Manus Core 2.0 installed and a license that allows accessing the glove data through their Core SDK. We recommend accessing the Prime 3 glove data through our OpenXR hand tracking interface.

The Manus VR extension object has  the following methods/constants:

Method

Description

<manus>.getGloveList()

Returns a list of all detected Manus VR glove sensors.

<manus>.getLeftGlove()

Returns the first available left handed glove.

<manus>.getRightGlove() Returns the first available right handed glove.

<manus>.GLOVE_LEFT

<manus>.GLOVE_RIGHT

Glove types supported by the <glove>.getGloveType() command below.

<manus>.FINGER_THUMB

<manus>.FINGER_INDEX

<manus>.FINGER_MIDDLE

<manus>.FINGER_RING

<manus>.FINGER_PINKY

<manus>.FINGER_ALL

Finger bit flags supported by the <glove>.setVibration command below.

The Manus VR glove sensors contain rotation data for the built-in IMU. The glove sensors have the following methods, in addition to the standard extension sensor methods:

Method

Description

<glove>.getGloveType()

Returns the glove type. See supported values above.

<glove>.isLeftHand()

Returns True/False whether the glove is for the left hand.

<glove>.getBatteryLevel()

Returns the battery level of the glove (0-1).

<glove>.getSignalStrength() Returns the signal strength of the glove.

<glove>.setVibration(duration

, amplitude=1

, finger=FINGER_ALL)

Set the vibration of the glove for the specified duration (in seconds).

 

The optional amplitude parameter controls the strength of the vibration (0-1).

 

The optional finger parameter specifies which fingers to apply haptics to. This can be any combination of the finger bit flags specified in the manus extension object above. NOTE: Not all glove models support per-finger haptics.

Example

This example shows how to add a Manus VR glove in your script, create an animated hand representation using the hand module, and link the glove rotation to the hand model:

import hand

# Create Manus extension
manus = viz.add('manus.dle')

# Get list of gloves
gloves = manus.getGloveList()

# Iterate through gloves
for g in gloves:
    
    # Create hand model for glove
    model = hand.add(g)
    
    # Position hand model depending on left/right
    model.setPosition(-0.15 if g.isLeftHand() else 0.15, 0.0, 0.0)
    
    # Link glove rotation to hand model
    viz.link(g, model)