CyberGlove

Installation:

    • The glove is connected via serial

    • The Device manager application, needs to be running in order to communicate with the glove.

CybergloveReceive

Get's the 24 Raw angles and data into 24 different float variables. See the Cyberglove documentation.

Code equivalent :

glove->getData( (GHM::HandParts)finger, (GHM::Joints)joint )

CybergloveSendForces

Sends forces directly to the glove.

Code equivalent :

touch->setVibrationAmplitude

CybergloveVirtualHand

The virtual hand will automatically attach "hand kinematics" to a rig, allowing for 1:1 mapping between real life cyberglove movement and an avatar hand.

The GameObject (go) parameter needs to hold an Animator component in one of its children. The action will then query the data from the device and apply correct rotations to the avatar hand joint based on device inputs.

Note: The avatar needs to be a Mecanim mapped rig. See Mecanim tutorials for more information.

Should the need to fine tune the hardcoded offsets, just make public in the code file.

[Tooltip("make public to fine tune the hardcoded offsets.")]

private float[] BoneAxisOffset;

CybergloveTouch

This action is an extended CybergloveVirtualHand with touch capabilities.

The action does forward kinematics with added colliders at the end of the fingers. The radius and offset parameters allow you to see the current colliders added to the hand.

Once collisions are detected, hardcoded forces are applyed.

Should the need for non hardcoded forces apply, make publi:

float[] set = { 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f };