Look at your arm. Extend your limb out in front of you and take a look at it. Your arm has several bones, two main ones, and a bunch more in your hand and fingers.
Move your fingers around, just your fingers move right? By moving your fingers, no other part of your arm, or for that matter, any other part of your body moved with it. Now bend your elbow. Not only does your arm move, but your fingers and hand move up as well. If they didn’t your arm would become disconnected from your hand and fingers, and they would be left hanging there in the air; not a pretty thought.
How does this little arm exercise relate to skeletal animation? Well, your arm represents part of a 3D model, your fingers, hand, lower and upper arm are all pieces of this model. Various joints and bones run through your arm, with joints at the shoulder, elbow, wrist, and fingers.
This shows you that when you move a bone “farther up” in your arm, everything below it moves as well. This is one of the most basic concepts of skeletal animation.
Figure 5.3 When doing skeletal animation, you worry about the joints, or places where bones come together. Each vertex is actually attached to one of these joints, rather than to the bone itself. |
Joint |
The beauty of this is that it allows you to move any bone in the model, and filter the movement down the line, applying it to everything below the origin of the movement. This allows you to move the shoulder of the character, for example, without needing to worry about getting the elbow and hand in the right place. You can rest assured that they will automatically be updated as well. Figure 5.3 shows a few examples of joints and vertices attached to them.
Лг^-