1
How to Use Gestures or Create Your Own Gestures
There are two ways to add gesture detection and gesture recognition to your Unity-project. For the first one
look at KinectManager – a component of MainCamera in the example scene. There are two lists - “Player1
Gestures” (these are the gestures expected from player 1) and “Player2 Gestures” (expected from player 2).
The gestures in these lists will be detected during the entire game.
The second way is to specify user specific gestures programmatically. To add such gestures or to handle any
of the specified gestures (in 1. or 2. way), you need to implement KinectGestures.GestureListenerInterface.
For an example look at the KinectScripts/Extras/SimpleGestureListener.cs-script. Here is a short description
of its methods:
UserDetected() can be used to start gesture detection programmatically. UserLost() can be used to clear
variables or to free the allocated resources. You don’t need to remove the gestures added by
UserDetected()-method explicitly. They are removed automatically, before the invocation of UserLost().
GestureInProgress()-method is invoked when a gesture is started, but not yet completed or cancelled.
GestureCompleted() is invoked when the gesture is completed. You can add your own code there to handle
the completed gestures. GestureCancelled() is invoked, if the gesture is cancelled.
Currently Recognized Gestures
The following gestures are currently recognized:
RaiseRightHand / RaiseLeftHand – left or right hand is raised over the shoulder and stays so for at
least 1.0 second.
Psi – both hands are raised over the shoulder and the user stays in this pose for 1.0 seconds.
Stop – both hands are below the waist.
Wave – right hand is waved left and then back right, or left hand is waved right and then back left.
SwipeLeft – right hand swipes left.
SwipeRight – left hand swipes right.
SwipeUp / SwipeDown – swipe up or down with left or right hand
Click – left or right hand stays in place for at least 2.5s. Useful in combination with cursor control.
RightHandCursor / LeftHandCursor – pseudo gesture, used to provide cursor movement with the
right or left hand.
ZoomOut – left and right hands are together and above the elbows at the beginning, then the hands
move in different directions.
ZoomIn - left and right hands are at least 0.7 meter apart and above the elbows at the beginning,
then the hands get closer to each other.
Wheel - left and right hands are less than 0.7 meter apart and above the elbows at the beginning,
then the hands start to turn an imaginary wheel left (positive) or right (negative).
Jump – the hip center gets at least 10cm above its last position within 1.5 seconds.