This tutorial will show you how to extend the Animation Library's content pipeline by creating a processor that does not pre-compute the animations to 60 frames per second.

The animation library interpolates animations to 60 fps if they are not already precomputed to a faster frame rate. In our case, the dwarf is already interpolated for most (if not all) animations to a pretty high frame rate (but less than 60 fps), so the difference is hard to catch with the human eye. However, many exporters don't offer the option of exporting interpolated animations.
  • Follow the first 4 steps in the Making a Dwarf Realistically Walk and Run tutorial.
  • Create a windows game library project, and add references to Microsoft.Xna.Framework.Content.Pipeline and Xclna.Xna.Animation.Content
  • Compile the project into a dll by building it. The dll will appear in the projectDirectory/bin/debug/ directory
  • Add this compiled dll as a content pipeline reference to your windows game project that displays the animated dwarf. Now every time you recompile the new library project, the dll will automatically be updated in your game project.
  • Now make the following processor in your new library project:
    [ContentProcessor]
    public class MyProcessor : AnimatedModelProcessor
    {
        protected override AnimationContent ProcessAnimation(AnimationContent animation)
        {
            return animation;
        }
    }
  • Finally, set the processor for dwarfmodel.x in your windows game project to "MyProcessor"
  • That's all that you need to do to prevent the animation from being interpolated to 60 frames per second.

Last edited Mar 8, 2007 at 12:14 AM by dastle, version 1

Comments

No comments yet.