Custom Hand Gesture
Introduction
Custom Gesture provides interfaces to customize hand gestures by calculating the fingers bending states and distance between fingers.
Supported Platform and Devices
Platform | Headset | Supported | Plugin Version | |
PC | PC Streaming | Focus 3/XR Elite/Focus Vision | V | 2.2.0 and above |
Pure PC | Vive Cosmos | V | 2.2.0 and above | |
Vive Pro series | V | 2.2.0 and above | ||
AIO | Focus 3/XR Elite/Focus Vision | V | 2.2.0 and above |
Enable Plugins
- Edit > Plugins > Search for OpenXR, ViveOpenXR and OpenXRHandTracking, make sure they are enabled.
- Note that the "SteamVR" and "OculusVR" plugin must be disabled for OpenXR to work.
- Restart the engine for the changes to take effect.
How to use OpenXR Custom Gesture Feature
VIVE OpenXR plugin provides a C++ Class named ViveCustomHandGesture which can be used to customize gestures. We demonstrate the Custom Gesture which uses BP_ViveCustomHandGesture in the ViveOpenXRGame > Content > CustomGesture > Blueprints.
For example, the distance of Thumb Tip and Index Tip should be set as Near for the OK gesture.
-
Add the blueprint class to the Map.
-
In the blueprint class, you have to name each gesture and then define left/right/dual hand gesture(s) by customizing the finger state joint (node) distance and palm rotation.
-
Add and configure BP_RiggedHandRenderModel as left and right hand in the Map.
-
Use the TextRender to display the Custom Gesture result by Bind event on Custom Gesture Hand Changed Left, on Custom Gesture Hand Changed Right and on Custom Gesture Hand Changed Dual Hand on Event BeginPlay.
Play the Sample map
- The sample is paper, scissors, stone game, please find it under Content > CustomGesture > Map.
- The custom gesture in Map will be detected and game shows the outcome.