Kinect Mocap Animator is simple to use Kinect (‘Kinect for Xbox One’ or ‘Kinect for Xbox 360’) mo-cap tool that records the user motion as fbx animation. It features hand and finger tracking as well, by utilizing the LeapMotion sensor. You can run the tool directly in Unity editor, to record animations needed by the humanoid models in your scenes. ‘Kinect MoCap Animator’ works with Kinect-v2 or Kinect-v1 (aka ‘Kinect for Xbox One’ & ‘Kinect for Xbox 360’) as mo-cap sensor, and optionally LeapMotion, if finger animation is needed as well. It records the captured user motion as animation clip in fbx model file of your choice. The recorded animation may be retargeted to another humanoid model, with the help of Mecanim (the Unity animation system), or be processed further in external 3d modeling tool, like Maya or 3dsMax. This package can be used in both Unity Pro and Unity Personal editors.
Free for education:
The package is free for academic use (i.e. in schools, colleges and universities, by students, teachers or researchers). If you match this criterion, please e-mail me to get the K2-MoCap animator directly from me.
My only request is NOT to share the package or its scenes in source form with others, without my explicit consent, regardless of whether you purchased it at Unity asset store, or got it from me free of charge for academic use. Please respect my work.
How to run ‘Kinect MoCap Animator’:
1. Install the Kinect for Windows SDK v2.0 or Kinect Runtime. The download link is below.
2. Download and install the Speech Platform Runtime v11 (both x86 and x64 versions). The download link is below.
3. Download and install the en-US Kinect language pack. The download link is below.
4. If finger tracking is needed and you have LeapMotion-sensor, please download, unzip and install the LeapMotion Orion Setup. The download link is below.
5. Import the package into a new Unity project.
6. Open ‘File / Build settings’ and switch to ‘PC, Mac & Linux Standalone’, Target platform: ‘Windows’.
7. Open and run the Assets/KinectMocapAnimator-scene.
How to utilize the LeapMotion-sensor for finger tracking:
You can use the LeapMotion-sensor to track the user’s fingers and record the full finger motion in the animation. To do it, follow the steps here.
How to utilize the recorded animations:
Please mind you don’t need to replace the models in the Mocap-Animator with your own, just to utilize the recorded animation(s). Instead, use the retargeting capabilities of Unity animation system Mecanim, like this:
1. Copy the model with the recorded animation (usually Assets/Models/Recorded.fbx) to the Unity project, where you plan to utilize the animation.
2. Select the copied model in Unity editor, switch to the Rig-tab of its Import settings, and make it Humanoid.
3. Go to the Animations-tab of the Import settings now, and make the needed changes, like setting the Start & End frames, Loop time, etc. Apply the changes.
4. Open the scene where your model should play the animation, and select it in Hierarchy. Its rig in Import settings should also be Humanoid.
5. Make sure the model has an Animator-component, and there is animator controller assigned to it. If not, create a new animator controller in assets, and assign it to the Controller-setting of the Animator-component.
6. Open the Animator-window (menu Window / Animator).
7. Drag the recorded animation (or the entire model with animation from p.1) and drop it into the Animator window. The recorded animation should appear in Animator’s state machine. That’s it.
8. Run the scene and check, if your model plays the recorded animation correctly. This way you can retarget the recorded animation(s) to all other humanoid models in your project, without physically recording the animation clips into them.
More information can be found in the Online documentation, as well as in the Readme pdf-file in the package.
* Kinect for Windows SDK 2.0 (Windows-only) can be downloaded here.
* Please mind Kinect v2 requires Windows 8 or later, as well as USB-3 port on your machine.
* MS Speech Platform Runtime v11 (both 32- and 64-bit versions) can be downloaded here.
* Kinect for Windows SDK 2.0 language packs can be downloaded here.
* LeapMotion Orion Setup can be downloaded here.
* If you use Kinect-v1 with Kinect SDK 1.8, but have also installed the Kinect SDK 2.0, please look at this tip.
* The online documentation of the ‘Kinect Mocap Animator’-package is available here.
* The official release of ‘Kinect Mocap Animator’-package is available at the Unity Asset Store. All updates are free of charge.
Output File Formats:
To get the output file in the format you need, change the ‘Output file format’-setting of KinectFbxRecorder (component of the KinectController game object in the scene). Don’t forget to change the extension of the saved file in ‘Save file path’-setting, if needed. Keep in mind that in this case you may not see properly the results of the mo-cap in the scene. Here are the available output file formats:
- FBX binary – saves fbx-file in binary format;
- FBX ascii – saves fbx-file in text format;
- FBX 6.0 binary – saves fbx-file v6.0 in binary format. This is the by-default setting;
- FBX 6.0 ascii – saves fbx-file v6.0 in text format;
What’s new in version 1.4:
1. Added finger tracking with the LeapMotion sensor, or Kinect’s own hand and finger tracking.
2. Added option to apply the humanoid muscle limits to the KinectFbxController-component.
3. Added option to allow external head rotation detection to the KinectFbxController-component.
4. Published online documentation for Kinect Mocap Animator – https://ratemt.com/k2mocap/
5. Updated the package to work with Unity 5.5 or later.