Custom Animations for Unity using Windows Kinect
by Nash McDonald
For the Daden U Day I decided to investigate how much effort was involved in creating animations for 3D characters using motion capture. What tools were available and finally what results would this process of creating animations yield compared to the traditions way of animating using key frames. For the motion capture I planned to use a Microsoft Kinect v1. I chose this because it was the only motion capture device that was available to me at the time. Ideally I would have preferred an Xbox One Kinect camera as Kinect V1 was first released June 16 2011 which is 5 years ago from the time of this post. I planned to use the Kinect with markerless motion capture. There are other cameras available on the market for markerless mocap but they are specialist equipment which require special rigs.
The morning was spent doing some research on the best way for capturing motion from the kinect camera and turning it into animations usable in Unity with the Mecanim state machine. Many google searches later and countless youtube videos I came to the conclusion that there was only two ways of accomplishing my goal for the day. The first was to directly record motion in Unity using the Microsoft SDK for Unity3D and custom scripts written by the Unity Community. The second was to capture the motion using mocap(motion capture) software then create animation files usable in Unity3D. I chose the latter because i wanted to have the ability to edit the animations before using them in Unity. I found a very good piece of software iClone 6.
iClone 6 is an application used for generating 3d scenes and animations. it can animate objects as well characters. With iClone 6 i was able to install the iClone Kinect mocap plugin. I imported one of the avatars from Fieldscapes into iClone. Afterwhich I was now able to use the Kinect Mocap Plugin to record animations using in iClone. See image below
I recorded a simple touch animation to simulate touching an object in Fieldscapes. The animation recorded would have ideally needed further refinement as the recording from the Kinect was not very accurate. I was able to export the character as an FBX file containing the animation data which can be imported into Unity 3D. The whole process from start to finish was mostly painless. I suspect if the animation was more complicated the result of the mocap would have needed an animator to spend a good few hours ironing out the rough edges. The process and equipment I used were very good to get a rough start and speed up the whole animation process but could never replace the traditional way of animating each bone in the character's body using key frames.