Here’s the source and everything for what I’ve done so far:
http://dl.dropbox.com/u/12829356/gsnyderKinectFinalProject.zip
Working with the Kinect this semester has been really fun, and a really great learning experience. It’s interesting to work with hardware that isn’t fully supported by it’s developer – you need more creativity to accomplish things, since not all the features you need are readily available/supported. For example, while I have no doubt in my mind that the official SDK release will contain a listener that can support user connected/user lost reactions, however for this project we had to use the fact that a VRPN sever is created by FAAST to implement the same thing.
It’s also a lot more rewarding when you get something to work, for that reason. Though I am still disappointed that ultimately not everything was implemented as planned. I’m not quite sure why certain gestures didn’t work – for example, Jump or any of the NITE ones – however I have a feeling that it was a combination of both FAAST’s shortcomings and various lighting/vision issues.
If I were to keep working on this project (which I’d like to, given enough time this summer), I would start by learning how OpenNI works and program my own gesture listener of sorts. I like the fact that in the KinectUserRecognizer can send key presses directly to the Flash window, regardless if it is the active window on screen. That way you don’t run into the issue of the user accidentally turning on gesture recognition but forgetting to re-click the Flash window. From there, I would also work on implementing some sort of coordinate system that is compatible with iHart code (or even better, figure out a way to get the computer to see the Kinect as a webcam, as opposed to merely a Kinect). I think it’s silly that the two aren’t compatible out of the box.
That being said, I’m really happy with the progress I made this semester and look forward to continuing this in the future. To anybody who reads this…have an awesome summer!
