Kinect to Biped capture software WIP

Started by
1 comment, last by Chosker 11 years, 9 months ago
While not directly a game, this WIP / announcement is of a MoCap tool to make animations (part of the dev workflow) so I figured it could fit in here.
On to the post, a re-post from my blog:


As many of you must already have, a few months ago I heard about using a Kinect Sensor for Motion Capture to create animations. I bought one and tried using Brekel but the results were not good enough (glitchy, weird) and the workflow wasn’t too straightforward either. Now a few days ago while searching (and avoiding the almost-omnipresent iPiSoft) I found a free open-source software called KMotion Capturer by Akira32 (site is in Chinese but he usually translates his KMotion Capturer related posts).

This software captures from Kinect and saves it into a .ms (MaxScript) file for use in 3ds Max. While you’re not able to see the real-time movements directly in your character, the result is an animated Biped skeleton which allows for easy transfer of the animation into your own character. Mocap is only ever a base for animations which requires adjusting and cleanup (further in this case, since the Kinect is limited in bones and other stuff) so it doesn’t represent a problem.
It also uses Voice Commands for the different functions so it’s easy to use even without being at the keyboard to control it.

I really like this approach and the resulting workflow, but I encountered a few problems:

  • It only exports bone positions and Biped only allows setting positions on the rootbone, elbows, wrists, knees and feet; the rest are ignored. As such, the resulting animations are blocky and robotic (sample proof).
  • It’s only available as source which is unfriendly for most artists. And despite the author’s effort of translating his related posts to English, the software is mostly unknown.
  • It could use a few extra minor features (control the Kinect Sensor’s rotation, a more natural spine, some customization, etc).
  • It might be a little early to say this, but it seems it might be abandonded.

As I was able to download and compile the sources and get the program running I decided to improve it myself and later on release it for public use, hoping for a broader audience.

The results so far are promising, I’m already able to export rotations for all bones (thanks to the new functionality in the Kinect SDK 1.5) producing a more natural animation. It's still not at the quality level I'm looking for though (getting close) so I'll keep on developing it. After that a public release should come.

I've tried contacting the original author about it but it's been weeks and I've gotten no response from him, so I'll just continue this on my own. The changes have been significant and I'm already planning more features for it (maybe capturing facial animation) so I'm thinking about changing the name of the program to something more "of my own". So far the name KinectBiped sounds good in my head but I'm open to suggestions.
and also my idea is to release the program for free and accept donations via paypal, how would that sound?


Here's a video of a test capture
[media]
[/media]

and I'm attaching a picture of the program running

Chosker - Developer of Elium - Prison Escape

Advertisement
That is really interesting smile.png

We have been experimenting a bit with Kinect Mocap too, but we too found it very glitchy.
Was still useful to use as template for hand animated stuff, but couldn't really be used directly.
Well, as you say, that probably couldn't be expected anyway.

That test capture looks better then anything we produced, but still a bit glitchy...
Should be a lot better template.

Have you thought about adding a second kinect to the setup to increase accuracy?

I will definitely follow your project closely smile.png
Indeed it's only supposed to be used as a base to hand-animate later.
It's not a "just clean the keyframes" solution like real MoCap, but it's a nice base to start with. Plus, I've been able to make the program only write a keyframe every X frames (configurable) if it detects no movement above a threshold (also configurable), but will still write a keyframe every frame when real movement is dected. The result is less jitter and a much cleaner scene to work with.

I haven't thought about a second kinect simply because I don't own 2 kinects, and have no plans to buy another one :)

glad to have at least one person interested :)

Chosker - Developer of Elium - Prison Escape

This topic is closed to new replies.

Advertisement