by Paul Lovy
Secondary motion for Blender assets headed to Godot 4.7: the parts nobody keyframes - cloth, soft volumes and flesh - recognised, typed, specified and made to move. A router skill measures a mesh and classifies it by the dimension of what moves (strand, shell, volume) and how it is held, then types it - jello, slime, clay, a breast, a bloater's belly - from a JSON registry of names, taught examples and anatomical zones that Claude extends by teaching: an object, a painted group, or zones marked on labelled 2D renders and mapped back onto the vertices each camera saw. Three libraries build it. Cloth is a SoftBody3D pinned by position. Volumes (jello, pudding, slime, clay, water balloons) are lattice shape matching in GDScript, because Godot 4.7.2's Jolt soft body builds no bend or volume constraints: clusters with a whole-body goal for shape memory, volume-normalised squash, plasticity that holds rest volume against the render mesh, a wobble frequency converted through a measured model, substeps chosen from the angle so stiffness never aliases, and contacts cast as rays every substep so a body never tunnels or buzzes. Flesh is a jiggle bone per soft mass on a skinned body - found by how far the surface stands out of its lean envelope inside zones, rigged with feathered four-influence weights, exported with rig-anything's walk, and sprung in a SkeletonModifier3D with an exact damped oscillator, acceleration and relative-gravity loads and volume-keeping squash. Materials carry physical frequencies (gelatin from its shear modulus, soft fat from breast adipose tissue). Every export is read back, and headless verifiers measure pins, stretch, volume kept, penetration, settling and each spring's frequency.
Claude Code4 Skills