Saturday, March 2, 2013

Using Kinect with Unity 3D Game Engine

How to use the Kinect (Microsoft Drivers v. 1.5) with Unity 3D

Here is my current result for fun (The beginning is my own C++ version that doesn't involve unity) in a game where you can throw fireballs:


After spending a while developing a little C++ library to use with the Microsoft Kinect Drivers (which I've been meaning to release), I decided to try to integrate the Kinect functionality into the popular Unity 3D Game Development software.

I was pretty excited after finding the handy CMU package here. However, it only worked with the beta Microsoft SDK and didn't have some of the more advanced functionality that I needed. I'm running version 1.5 hacked together a quick DLL and modified some code.

I use the Microsoft Kinect SDK Version 1.5 which I have available for download here.

The DLL source code can be found here in case you want to modify it for a different version.

The DLL itself (needed for the Kinect to work with Unity) can be found here and should be placed in your Microsoft SDK/Kinect folder like below:
C:\Program Files\Microsoft SDKs\Kinect\v1.5\Assemblies\Unity\

The scripts to control a player and receive information from the Kinect can be found here.

They are used the same way as the CMU ones but are slightly modified with a bit more error checking and some extra flags. All you have to do is follow the same instructions on the CMU page linked above which just involves enabling the Kinect and telling the KinectModelControllerV2 where your joints are. The movement flag is still in beta as I'm trying to make it so the character can walk around.

I have a version that is entirely in C++ using OpenGL, FreeGlut, my own version of Blepo, and my own development libraries that is previewed in the beginning of the video that can be found here. It is what I do most of my testing in before I port it over to Unity.

Enjoy!

Consider donating to further my tinkering.


Places you can find me

No comments:

Post a Comment