Skeletal animation has many advantages over the traditional vertex animation, which you saw in earlier chapters.
The first, and most visible to the game’s players is increased realism. Skeletally animated characters tend to move much more realistically, and often appear to interact better with their surroundings than traditional models. The reason models tend to move more realistically
if they are skeletally animated is simple. In traditional keyframe animation, the game will linearly interpolate between two poses. However, in this case, the joints do not actually rotate, which can be a problem because living organisms move in rotational ways.
Not quite as noticeable to the users, but very important to the programmers, is that such animations take up less storage space. Instead of storing a new set of vertices for each frame, all that needs to be stored is the rotation and translation of the bone. That can amount to a huge savings, even after you add the initial increased storage of the bones and vertex-bone attachment information.
This extra bit of storage space can be used to store a more detailed model, add extra animation frames, or even just be left for other parts of the game that you want to improve. You could add more detail to the game world, improve the A. I. to provide for a more exciting game, or even add some cool extras or Easter eggs that you wouldn’t have added otherwise, due to space concerns.
Yet another advantage lies with the artists who create the 3D content for your games. A good skeletal animation system will cut the time the artists need to animate their models. Almost every good animation program uses skeletal animation already to ensure a smoother transition of the models from the artists to the programmer, to the game, and ultimately to the player. This speeds up the creation of content for the game, and ensures that no animations or features are lost when the models are exported into whatever format your game is using.
A fourth advantage is another one for the programmer (it just gets better and better, doesn’t it?). Because of the nature of the bones, it is possible to reposition them in real-time if you want, allowing needed animations to be created during runtime. This provides a much more diverse library of possible animations. You can even let the game control the way a body acts when it collides with an object, or slides down a slope. This kind of technology is just recently coming into play, a notable example being Unreal Tournament 2003’s Physics system (http:// www. epicgames. com). Characters and models react realistically with the environment, including sliding down slopes and draping over edges.
The one disadvantage is that skeletal animation can be harder to understand and implement than traditional keyframed animation.
This chapter should help you alleviate any fears you might have concerning skeletal animation.