Rigging; skinning; skeletal animation
Bones inside a model, with every vertex weighted to them, so animating the skeleton bends the skin. How a character walks instead of sliding.
See it
What it is
Three stages that people say in one breath. Rigging builds the skeleton: a hierarchy of bones (called an armature in Blender) plus the handles an animator grabs, like IK targets on hands and feet. Skinning binds the mesh to that skeleton by giving every vertex weights across nearby bones, usually up to four, which is the part artists do by weight painting. Skeletal animation is then just keyframing bone transforms over time; the vertex shader blends each vertex by its weights every frame. That costs a bone matrix palette uploaded per frame plus a handful of weighted matrix multiplies per vertex: usually cheap enough to stop worrying about, but not free, and not the same price as drawing the same mesh static.
glTF carries all of this natively as skins plus animation clips, so a Mixamo or Blender export plays in three.js through AnimationMixer with crossfades between clips. Reach for it whenever the deformation is structural and repeats: limbs, tails, cloth flaps, a bending straw. For faces and squishy shape changes, morph targets (blend shapes) are the better tool, and real productions use both together.
Gotcha: linear blend skinning produces the candy wrapper collapse, where a wrist or forearm pinches to nothing when it twists past 90 degrees. The fix is a twist bone that takes half the rotation, not more weight painting. Also, retargeting an animation onto a different skeleton only works if bone names and proportions roughly match, and skinned meshes fight instancing, so a crowd of animated characters is a very different performance problem than a crowd of rocks.
Ask AI for it
Rig and skin this character mesh, then play it back in three.js. In Blender: build an armature that matches the mesh's proportions, with IK targets on the hands and feet, bind it with automatic weights, then clean the weights so every vertex has at most 4 influences and its weights normalize to 1. Test the deformation on extreme poses (arm raised overhead, elbow fully bent, wrist twisted 180 degrees) and add a forearm twist bone that takes half the wrist rotation so the candy wrapper pinch goes away. Export to GLB with the skin and the animation clips included. In three.js: load with GLTFLoader, create an AnimationMixer on the loaded scene, index gltf.animations by clip name, and expose a play(name) helper that crossfades from the current clip over 0.3s using fadeIn/fadeOut. Drive mixer.update(delta) from a THREE.Clock in the render loop, add a SkeletonHelper toggle for debugging, and clone with SkeletonUtils.clone (not plain Object3D clone) if more than one instance is needed.