Animation Optimization


As you are now well aware, in every aspect of real-time artwork you have to keep within specified boundaries, and the same applies to animation. If your character can perform a hundred moves, all these will have to be stored in memory. Add to this the animations for all of the nonplayer characters, plus scenic animation, and your allotted chunk of the memory is soon gone.

Restricting the number of animations used isn't the best approach for today's games; in-game animation is a huge draw these days, and variety is the key to making your characters interesting and believable. Instead, you can explore the following options for saving processing power.

Mirroring Animations

Normally, if you wanted your character to be able to step left as well as right, you would have to create two separate animations, both of which would be stored in memory. Such doubling-up on so much of the animation data can soon reach the limits of your resources. One way to remove the need for mirrored versions is to see if the programmers on your team can do the mirroring in the game engine. (By this I mean mirroring only the joints' rotation and translation values; mirroring the whole skeleton would also flip the character mesh.)

Having this aspect of animation handled in the game engine can cut almost in half the amount of data being stored, leaving you room for more animations.

Dividing Animations

Another way to reduce the memory consumed by animations, without losing any of the animation, is to divide them up. Say your character is running, which is one animation. Then she needs to hold a variety of weapons, say five. In all, you have six separate running animations.

What you can do is divide them into upper-and lower-body movements. The hips and legs from the primary run animation could also be used with the upper body animation from each of the six variations.

Storing upper and lower body data will itself save a lot of memory. If you can, you could even divide the animations further, into individual limbsbut this can lead to a reduction in the quality of the animation.

As always, talk these options over with your manager; implementing this technique into the game engine can be a big job.

Skeleton and Animation Sharing

For games in which you have many characters that potentially will do the same things, you can create one set of generic animations that can be applied to all. In this case, it's wise to use the same skeleton structure in order to maintain the correct motion, but slight variations in size and proportions can also work.

This sharing technique is particularly useful on more generic, nonplayer character animationscivilians, for examplewhere the repeated use of the same animation is not obvious.



    Game Character Development with Maya
    Game Character Development with Maya
    ISBN: 073571438X
    EAN: 2147483647
    Year: 2004
    Pages: 169
    Authors: Antony Ward

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net