/Kinect-to-Maya-motion-capture

A set of scripts to help you capture the Kinect's motion capture data in Maya

Primary LanguageC

--- LEGAL STUFF ---

My code, namely the files found under the 'KinectMocap' directory, is provided under a Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/). As such, you are free to use the code for any purpose as long as you remember to mention our names (Torben Sko and Beau Vardos) at some point. Also please note that my code is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Also provided in this Git repository is the work of Mirage, found in the folder titled 'Mirages MayaOpenNIServer (version)'. For licensing details, please consult Mirage's homepage (http://d.hatena.ne.jp/Mirage/)


--- SETTING UP ---

1) To start make sure you have...

A USB Kinect: the one sold separately to the Xbox360

A Windows Computer: required for the capture process - editing can be done on either Windows or OSX

Maya 2010 or above: if you're a student, you can get a free 13 month Maya licence through the Autodesk Education Community (http://students.autodesk.com/)

2) Get your Kinect setup and working with your PC by the following this guide: http://www.brekel.com/?page_id=170

3) Grab the two zip files provided at the bottom of this page. You'll find a MayaScript directory in both. Copy the contents to your Maya scripts folder:

Windows: C:/.../My Documents/maya/scripts 
OSX: /Users/USERNAME/Library/Preferences/Autodesk/maya/2010/scripts

In one of the zips, you'll also find a bin folder containing MayaOpenNIServer.exe. Extract this to anywhere on your computer.

Please Note: my scripts work in conjunction with Mirage's scripts (a copy of which is provided below). If you wish to grab the latest version of his scripts please visit his homepage (http://d.hatena.ne.jp/Mirage/)


--- CAPTURING ---

1) Run the MayaOpenNIServer.exe that you extracted before. Once the Kinect footage is visible on screen (this can take a little while), you need stand in front of the Kinect and hold a surrender pose

2) Once you're satisfied it's working, click the 'Start Server' button

3) Open Maya and open the script editor (fig. b)

4) Under the MEL tab, enter the following code:

source mayaKinectMocap.mel;
mayaKinectCaptureTest();
showMocapWindow();

Execute this code using one of the blue arrow buttons located at the top of the script editor window

5) Using the windows that pop (fig. c) up you can then...

create nulls: creates some locators that will move once you connect to the OpenNI Server

connect: connects to the OpenNI Server. If you're still being tracked by the server, you should see the locators move

start: starts recording the locator (i.e. the actor) movement

stop: stops recording the locator movement

auto rig: creates and attaches some geometry to the Kinect locators. You can do this either before or after recording the movement, however if done before, it could cause your computer to slow down during the recording process


--- COMPOSITING (IN BRIEF) ---

1) Film a background for your character

2) You will need to track the camera movement in 3D by following a tutorial like this one: http://www.youtube.com/watch?v=7l4enkIrufI

3) Once you render your character from the perspective of your animated camera (with a transparent background), you will need to composite the character and background together using a program like Nuke or After Effects