Lab 5: Skeletal Animation

Introduction

Today we will be looking at an animation technique known as skeletal animation. Specifically, we will discover how we can generate motions easily and how to transfer these generated motions to a character mesh. At the end of the lab you will have a character with a skeletal system and an animation that is playable from within OGRE.

So what exactly is skeletal animation? Skeletal animation is the process of taking a skeleton, which consists of a set of interconnected bones, animating it, and then attaching the vertices of a mesh model to the skeleton. Then, when the skeleton is posed and keyframed, the vertices of the mesh go along with it. The skeleton serves as nothing more than an intuitive handle for the animation process.

Skeletal animation is typically used for animating characters that are complex and not amorphic. Humans, mammals, insects, and even invertibrates, such as worms are suitable candidates. For animating objects like water or very simple rigid structures (space ships), techniques like vertex or scene node animation are more suitable. A good majority of videogames today use skeletal animation, with the exception of flight sims (do they still exist?), so this will be the animation technique we will be focusing on today.

Requirements

You will be working off a continuation of the same Blender tutorial you worked with in lab 1. The tutorial will instruct you on how to create a skeleton and then generate an action for the skeleton. The tutorial may be found here.

Once you've completed the tutorial you can use the OGRE mesh exporter to export out your skeleton and animations. After you have exported you should be able to load up an OGRE scene with your mesh and play the animation.

So to summarize the requirements:

Importing into OGRE

The manual and tutorials discuss animation playback within OGRE. Also, the demo code from lab 3 demo code uses the animation system. It should not require more than a few lines of code to play your animation.