Skip to content
Arthur Nishimoto edited this page Apr 18, 2015 · 5 revisions

Last revision: ver. 5.0 - 18 April 2015

Uses the Microsoft Kinect for Windows SDK to access joint and (eventually) speech recognition data. Kinect v2.0 support is currently in development and is not in the current public build.

Generated events

  • Service type: Mocap
  • Event types: Update
  • Event data fields: position (head) and extraData float array containing joint position

Common Mocap Event Fields

  • timestamp:
  • sourceID: Skeleton / body ID
  • serviceID:
  • serviceType: Mocap
  • type: Update
  • flags: 0 (not used)
  • position: x, y, z of the skeleton's head
  • orientation: Vector4 containing leftHandState in index 0 and rightHandState in index 1

HandStates correspond to the Kinect SDK 2.0 HandStates which provides basic hand gestures:

  • 0: Unknown
  • 1: NotTracked
  • 2: Open
  • 3: Closed
  • 4: Lasso (Pointing)

Extra Data Fields

The following table shows the ExtraData Vector3 index mapping to the current supported skeleton tracking systems (OpenNI and Kinect for Windows v1.x and v2.0). Index values not supported by the current service will return a Vector3(0,0,0).

ExtraDataVector3 index OpenNIService MSKinectService (SDK v1.x) MSKinect2Service (SDK v2.0)
0 --- NUI_SKELETON_POSITION_HIP_CENTER JointType_SpineBase
1 XN_SKEL_HEAD NUI_SKELETON_POSITION_HEAD JointType_Head
2 XN_SKEL_NECK --- JointType_Neck
3 XN_SKEL_TORSO --- ---
4 XN_SKEL_WAIST --- ---
5 XN_SKEL_LEFT_COLLAR --- ---
6 XN_SKEL_LEFT_SHOULDER NUI_SKELETON_POSITION_SHOULDER_LEFT JointType_ShoulderLeft
7 XN_SKEL_LEFT_ELBOW NUI_SKELETON_POSITION_ELBOW_LEFT JointType_ElbowLeft
8 XN_SKEL_LEFT_WRIST NUI_SKELETON_POSITION_WRIST_LEFT JointType_WristLeft
9 XN_SKEL_LEFT_HAND NUI_SKELETON_POSITION_HAND_LEFT JointType_HandLeft
10 XN_SKEL_LEFT_FINGERTIP --- JointType_HandTipLeft
11 XN_SKEL_LEFT_HIP NUI_SKELETON_POSITION_HIP_LEFT JointType_HipLeft
12 XN_SKEL_LEFT_KNEE NUI_SKELETON_POSITION_KNEE_LEFT JointType_KneeLeft
13 XN_SKEL_LEFT_ANKLE NUI_SKELETON_POSITION_ANKLE_LEFT JointType_AnkleLeft
14 XN_SKEL_LEFT_FOOT NUI_SKELETON_POSITION_FOOT_LEFT JointType_FootLeft
15 XN_SKEL_RIGHT_COLLAR --- ---
16 XN_SKEL_RIGHT_SHOULDER NUI_SKELETON_POSITION_SHOULDER_RIGHT JointType_ShoulderRight
17 XN_SKEL_RIGHT_ELBOW NUI_SKELETON_POSITION_ELBOW_RIGHT JointType_ElbowRight
18 XN_SKEL_RIGHT_WRIST NUI_SKELETON_POSITION_WRIST_RIGHT JointType_WristRight
19 XN_SKEL_RIGHT_HAND NUI_SKELETON_POSITION_HAND_RIGHT JointType_HandRight
20 XN_SKEL_RIGHT_FINGERTIP --- JointType_HandTipRight
21 XN_SKEL_RIGHT_HIP NUI_SKELETON_POSITION_HIP_RIGHT JointType_HipRight
22 XN_SKEL_RIGHT_KNEE NUI_SKELETON_POSITION_KNEE_RIGHT JointType_KneeRight
23 XN_SKEL_RIGHT_ANKLE NUI_SKELETON_POSITION_ANKLE_RIGHT JointType_AnkleRight
24 XN_SKEL_RIGHT_FOOT NUI_SKELETON_POSITION_FOOT_RIGHT JointType_FootRight
25 --- NUI_SKELETON_POSITION_SPINE JointType_SpineMid
26 --- NUI_SKELETON_POSITION_SHOULDER_CENTER JointType_SpineShoulder
27 --- --- JointType_ThumbLeft
28 --- --- JointType_ThumbRight

Configuration parameters

  • updateInterval (float): the delay time in seconds between polling for new data (default: 0.01)
Clone this wiki locally