Hand ActorComponent

Introduction

VIVE Wave™ plugin provides an UActorComponents of Hand Tracking for the position and rotation of hand joints.

By adding the the component to your Blueprints, you can easily retrieve the data related to Hand Tracking.

Hand Tracking

VIVE Wave™ plugin defines hand joints as follows.

../_images/UnrealHandActorComponent05.png

By adding the WaveVRHandJointComponent, you can retrieve the joint tracking information of a specified combination of Tracker, Hand and Joint.

../_images/UnrealHandActorComponent03.png ../_images/UnrealHandActorComponent04.png

The WaveVRHandJointComponent provides below APIs:

  • IsValidPose: Checks if the pose is valid.
  • GetLocation: Retrieves the joint location values as FVector.
  • GetRotation: Retrieves the joint rotation values as FRotator.

Hand Gesture

With the WaveVRHandGesture component, you can receive the gesture by listening to the gesture blueprint event.

../_images/UnrealHandActorComponent01.png ../_images/UnrealHandActorComponent06.png ../_images/UnrealHandActorComponent02.png

The Static Gesture are default gesture types included in EWaveVRGestureType.

The Custom Gesture should be defined manually.

VIVE Wave™ plugin provides the WaveVRCustomGesture class at WaveVR C++ Classes > WaveVR > Public > Hand > CustomGesture.

../_images/UnrealHandActorComponent07.png

Right-click on the WaveVRCustomGesture to create a blueprint class.

../_images/UnrealHandActorComponent08.png

In the blueprint class, you have to give each gesture a name and then define left/right/dual hand gesture(s) by customizing the finger state and joint (node) distance.

  • Thumb state: Close or/and Open.
  • Index/Middle/Ring/Pinky state: Close, Relax or/and Open.

If you select all states of a finger, all states of this finger will be used in calculating a custom gesture.

Note

You have to select at least a state of each finger.

Also, you can set the distance between two joints (nodes) to Near or Far.

For example, the Thumb Tip and Index Tip should be Near in the OK gesture.

Here is a sample for the Rock gesture of left hand.

../_images/UnrealHandActorComponent09.png

After configuring the blueprint class and putting the blueprint in your level, you can retrieve the custom gesture event like below photo.

../_images/UnrealHandActorComponent10.png