A Farewell to Arm Calibration

Posted 08 Jun 2010 in Devlog

Happy Birthday, Miri

About a week ago we finished designing Miri, the lead character in Dead Shift!… Now if that isn’t a milestone, I don’t know what is.  So to mark this momentous occasion, I decided to fix our long-broken animation pipeline…  Just look at that face, she deserves a new animation system, right?

Dead Shift has used BVH (Biovision Hierarchy) motion capture files to animate characters since last summer (Note to self: Finish this fucking game already!)… While the captures themselves were nice, the outcome was less-than-stellar, and sometimes downright weird.  This was due to the complex nature of 3D animation and a little thorn in my side called Calibration: A process of joining the character and animation to an initial “Bind Pose” to ensure everyone’s on the same page.  This process is easy to accomplish in proper animation software such as Animeeple, but a nightmare to work out in kludgy XML files!

So I thought “screw it”, and deleted my entire BVH processor, my custom XML processors to calibrate and tweak animations/skeletons… even my most basic BoneContent processors, animation smoothers… EVERYTHING involving animation in the pipeline was scrapped…  I decided that I wanted all animations to be processed in a simple fixed-FPS manor instead of the crazy per-bone keyframe stuff XNA supports, so I wrote an all new set of “SimpleAnimation” classes.  These classes define animations as a list of keyframes represented by arrays of quaternion rotations and root offsets, and they can easily read from Animeeple’s custom XML format.  Here are some benefits of the new system:

  • No Calibration!  Animeeple has already calibrated the animation to the model I’m working with, so I can just blindly copy the data ;)
  • Looks Great!  Properly calibrated animations have a wonderful quality to them… (as the next progress video will eventually show)
  • Clean! Roughly 1/4th the code and complexity of the previous implementation.
  • Predictable! We know that each frame contains information for all bones, which makes my life much easier!
  • Features:  Because keyframes are so easy to deal with, I’ve already added things like Automatic Loop Correction, Resampling, Motion Tracking, Triggers/Markers as hints for character logic.
  • New animation formats should be easy to support, but for now I’m sticking with Animeeple XML. ;)

Downsides?:

  • Models must be loadable by Animeeple, and my new zombie models aren’t… So I do need to find a nice way to convert and clean them up before they can go back into the game…

Please direct any questions and comments to Miri:

Happy Hunting

Happy Hunting

Posted by PolyVector

24 Comments

  1. pignaccia (20 Aug 2010, 8:58)
    Reply

    I don’t wanna put my finger in something that is not my business, but I’m a CG modeller, and I can say that 3D characters are a pain!

  2. PolyVector (20 Aug 2010, 9:25)
    Reply

    @pignaccia
    Tim runs Evolver.com, which is a character generator site. I create a character by blending various morph targets, and I have to pay to export… Problem is that each time I want to make a change (on my own), I have to pay the full price again and again… This means I will either pay for countless unused variations, or settle for my first-attempt on all characters.

    I’ve contacted Tim countless times over the last year offering ideas for ways to make the service more indie friendly… It’s like pulling teeth trying to get ANY answers from their team… It’s very unfortunate that there aren’t more alternatives for character creation… I started work on my own creator last year (that would offer free characters for indie devs), but decided I had enough on my plate with Dead Shift…

    See, i’m not a -complete- jerk. ;)

  3. pignaccia (20 Aug 2010, 14:17)
    Reply

    What can I say?

    It’s very hard to make an Indie game when you are within a team, I can’t imagine how could be by your own!

    It should be usefull if you could find a way to use/turn the wasted characters as zombies!

    But I have to admit Tim & company has a very nice business-idea!

    Good luck and regards for your impressive game!



Leave a Reply