What black magic is behind this?

rigged finger

Starting from a pile of polygons, a skeleton, and an initial conformation, how is a new conformation turned into a new pile of polygons?


The magic is that the mesh is attached to the skeleton. In it's simplest form, this is done by assigning each vertex to a bone.

When a vertex is assigned to a bone, that means that it will always keep the same position relative to that bone's position, and orientation (normal, tangent, bitangent aka the bone's local X,Y,Z axis) as the bone moves as directed by the animation data, physics impulses, or whatever else driving it.

As you might expect, some triangles will have vertices that belong to different bones. When this happens, since the triangle is made up of those vertices, the triangle will stretch or squish as the bones move.

The link you mention explains a way to set up the vertices for this specific type of movement such that the vertices stretch and squish in realistic and well behaved ways.

In modern games, vertices are usually attached to multiple bones with a weight per bone so that each vertex is actually affected by the movement of multiple bones. This gives a more natural and organic look to the mesh.

This answer only scratches the surface though, and this is a very deep topic which has many sub topics that are active areas of research!

If you want to read more about skeletal animation, this link is a good starting point: http://blog.demofox.org/2012/09/21/anatomy-of-a-skeletal-animation-system-part-1/


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.