AIR and the Kinect? Oh yeah... AS3NUI AIRKinect

Today's project helps meld to different worlds, Flash and the Kinect. Yep, you can develope AIR applications that integrate with the Kinect with this extension (oh and the source for the extension is available too)...

AIRKinect 2.2 – now with open-source native code

It’s been 3 months since the latest release of AIRkinect, which brought you OpenNI support on windows, but today we’re very happy to bring you 2.2! Some of the new stuff we have is:

  • Support for seated skeleton tracking (MS SDK)
  • Near mode support with skeleton tracking (MS SDK)
  • Option to choose which users to track (MS SDK)
  • Skeleton bone tracking (both)

We’ve also fixed some bugs concerning initialization failures on the MS SDK version & coordinates not being mirrored correctly on OpenNI.

One of the big new structures you’re going to see is skeleton bones. Skeleton bones is actually the joint rotation info which is moved from the skeleton joints structures into a structure of it’s own. This is mainly because of the differences between OpenNI & the MS SDK. The MS SDK tracks more joints & exposes more joint orientations. OpenNI stores joint rotation info in the start joint of a bone (as an absolute orientation offset from the T-pose), the MS SDK in the end joint. We wanted to create a structure which would be the same in both openNI & windows & exposes.

There is a set of 10 bones which are available on both OpenNI & the MS SDK:

SkeletonBone.NECKSkeletonBone.SPINESkeletonBone.LEFT_UPPER_ARMSkeletonBone.LEFT_LOWER_ARMSkeletonBone.RIGHT_UPPER_ARMSkeletonBone.RIGHT_LOWER_ARMSkeletonBone.LEFT_UPPER_LEGSkeletonBone.LEFT_LOWER_LEGSkeletonBone.RIGHT_UPPER_LEGSkeletonBone.RIGHT_LOWER_LEG

You can get absolute rotation information as a Matrix3D from a given bone with the following code:

user.getBoneByName(SkeletonBone.LEFT_UPPER_ARM).orientation.absoluteOrientationMatrix

Other information you can get is the name of the start joint, name of the end joint and name of the parent bone. If you are using the MS SDK, you get information on 9 more bones (in regular tracking, not seated mode):

MSSkeletonBone.LEFT_COLLARMSSkeletonBone.LEFT_HANDMSSkeletonBone.RIGHT_COLLARMSSkeletonBone.RIGHT_HANDMSSkeletonBone.LOWER_SPINEMSSkeletonBone.LEFT_HIPMSSkeletonBone.LEFT_FOOTMSSkeletonBone.RIGHT_HIPMSSkeletonBone.RIGHT_FOOT
...

There is one more thing to announce: from now on our native C++ sources are open source as well! So if you run into bugs, or want to add new features yourself, please fork & play with the code! Hopefully this will speed up bugfixes / improvements to the native code too

Project Information URL: http://www.as3nui.com/airkinect-2-2-now-with-open-source-native-code/

airkinect-2-core

AS3NUI

AIRKinect Extension is a Native Extension for use with Adobe AIR 3.0. AIRKinect allows AIR developers to tap into the rich experience of the Microsoft Kinect and push interactivity to a new level.

Authors

  • Ross Gerbasi (rgerbasi@gmail.com)
  • Justin Imhof (justin@justinimhoff.com)
  • Wouter Verweirder (wouter@aboutme.be)

Documentation

View documentation online

Requirements

Actionscript IDE supporting AIR 3.0 projects. (Flash Builder 4.6, IntelliJ, FDT, ...)

Windows 7
MS SDK version (airkinect-2-core-mssdk.ane)
  1. Install Microsoft Kinect SDK: http://kinectforwindows.org/
  2. That's it

...

Project Download URL: http://as3nui.github.com/airkinect-2-core/

Project Source URL: http://as3nui.github.com/airkinect-2-core/

Contact Information:

Tags:

Follow the Discussion

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.