Skeletons and skinning

A hierarchy of bones and a set of weights binding the surface to them. What each part does and where it goes wrong.

Animating a mesh means moving a skeleton and having the surface follow. Two things make that work: the skeleton and the skinning.

The skeleton

A hierarchy of transforms. Moving a parent moves its children — rotate the shoulder and the whole arm follows.

Bone names and hierarchy matter more than they look. Retargeting, animation sharing, IK setups and engine humanoid systems all key on them, so a skeleton with arbitrary names is a skeleton that cannot easily borrow anything.

Skinning weights

Each vertex is influenced by one or more bones, with weights summing to one. A vertex fully weighted to the forearm follows it exactly; a vertex at the elbow split between upper and lower arm follows both, which is what makes the bend smooth.

The influence limit

Engines cap influences per vertex, commonly at four. Exceeding it means the smallest influences are dropped silently at import, producing deformation that was fine in the DCC tool and wrong in engine. Check the cap before export.

Where skinning fails

  • Joints collapse when they bend, losing volume. The classic elbow and knee problem.
  • Shoulders are the hardest joint in a humanoid — three axes of rotation and a lot of surface.
  • Candy wrapper twist at the forearm and wrist, where a twisting bone pinches the mesh. Solved with twist bones distributing the rotation.
  • Interpenetration where two surfaces meet, like fingers or a jaw.

Corrective shapes

Blend shapes triggered by joint angle, fixing what skinning cannot. A shoulder that collapses at ninety degrees gets a corrective that restores its volume. Standard practice on hero characters, rarely worth it on background ones.

Topology decides the ceiling

No amount of weight painting fixes bad topology at a joint. Edge loops running around the bend are what allow a clean deformation — which is why edge flow matters most on characters, and why generated meshes need retopology before rigging rather than after.