Getting Your Secondary Motion to Behave
Most riggers run into this at some point. You build out a character, the hair system looks decent in the default pose, then you bend the spine and everything collapses into a greasy tangle. That is the Marble Trap. It happens because secondary motion elements — hair, tails, cloth hems, straps — lose their structural logic when deformation gets aggressive. The simulation bakes the wrong rest pose, or the inverse kinematics chains stack too many corrections in one spot, and your strands just bunch up like marbles in a tin. I learned this the hard way on a mid-budget indie project. We had a character with long braided hair and a leather coat. The artist who did the rig was using a straight IK stretchy solver for the torso with a uniform rest pose baked into the hair cache. When the character doubled over, the braid tips didn't follow the spine curve properly — they pooled at the hips like wet rope. Took me three days to stop wrestling the solver and just recalibrate the entire approach.
What Marble Trap Actually Means in Practice
In 3D rigging, Marble Trap describes the failure mode where secondary motion geometry or simulation data collapses into overlapping, clumped, or physically inconsistent states during extreme deformation. It is not a single tool or setting. It is a category of problems that shows up whenever you have deferred motion layered on top of primary skeletal animation. Hair is the most obvious example. Cloth is another. Even things like ear tips on a creature rig or a flowing cape can fall into this trap. The reason it is called a trap is that it usually does not show up in your preview timeline. You will see the hair look fine at rest. You might even test a walk cycle and everything reads acceptable. The trap snaps shut only when you push the rig into extreme poses — a deep lunge, a torso twist, a full backbend. That is when the cached simulation data, the blend shapes, or the cloth solver outputs start contradicting the underlying bone transforms. The geometry fights itself. Here is the part most tutorials skip: Marble Trap is not just a hair problem. It happens with any chained IK setup where downstream joints receive compound rotation data. If your spine has three IK stretchy segments and each one applies a 40 percent stretch correction, the end effector gets rotated roughly 120 degrees of accumulated distortion. Any hair or cloth attached to that end effector will react to a pose that no actual bone is holding. The simulation caches a response to a phantom pose. That phantom pose is the trap.
How to Actually Fix It Without Rebuilding Your Rig
Start by isolating the source. In my experience, about 70 percent of Marble Trap cases come from one of three things: improper rest pose caching, solver feedback lag, or stacked IK stretch without a corrective blend. Figure out which one before you touch anything else. The rest pose cache issue is the most common. When you bake a hair or cloth simulation, the cache records the bind pose or the current pose as the neutral reference. If you then animate the skeleton away from that bind pose, the simulation tries to correct from a position that no longer exists. The fix is to either bake the cache after animation is locked in, or to use a dynamic rest pose system that updates the reference frame every few frames. Maya's xMesh cache does this automatically if you enable the rest pose update flag. Blender's Hair/Geometry Nodes caches do not. You have to bake after posing. The solver feedback problem shows up in cloth and fur systems that use iterative solving. Each frame, the solver looks at the previous frame's output and adjusts. When the underlying mesh deforms quickly, the solver chases its own tail. You get jitter, then clumping, then the marble effect. The workaround is to increase the solver subdivisions or to lock the collision mesh resolution higher than the visual mesh. I usually set the collision proxy to at least double the vertex density of the source geometry. It costs more CPU time but stops the geometry from eating itself during fast movement.
Get the Full Details

Stacked IK stretch without corrective blending is the third major cause. If your rig uses stretchy IK for arms and legs, and you also have secondary motion attached to the limb tips, the stretch modifier warps the space that the secondary motion expects. The hair or cloth was authored assuming a fixed bone length. When the bone stretches, the attachment points move nonlinearly. The solution is to add a corrective shape key or a pose library entry that neutralizes the stretch effect on the secondary motion attachment points. You do not remove stretch from the IK chain. You just add a counter-correction at the point where secondary motion samples its rest position. I ended up solving my braided hair problem by doing exactly this. I stopped fighting the IK solver and instead created a corrective blend shape on the upper arm and forearm that locked the hair root transforms to the unsimplified bind pose. The hair system kept reading the same rest position regardless of how much the IK chain stretched. The braid followed the spine curve naturally even in deep poses. It added about twenty minutes of work and eliminated the entire clumping issue.
Prevention Tips That Actually Matter
Test your rig with extreme poses before you ever hand it off. Most people test walk cycles and light gestures. That is not enough. Force your character into a full squat, a deep twist, a high kick. Then look at how the secondary motion reacts. If anything pools, clumps, or passes through itself, you are in the trap and need to adjust before animation begins. Use collision proxies. Not the default meshes — actual simplified collision volumes. A hair system that collides against the full render geometry of a character's body will always struggle during fast animation. Replace it with a low-poly capsule and sphere setup that approximates the body shape. It runs faster and produces cleaner results because the solver has less geometry to calculate against. Do not batch-animate secondary motion on top of untested primary animation. I have seen rigs break because someone animated the body on one timeline and then appended hair simulation data on another. The two pass differently through the deformation pipeline. The hair cache and the bone transforms are not always evaluated in the order you expect. Bake everything into a single transformation hierarchy first, then apply secondary motion as a post-process.
When you export to game engines, check how the runtime handles cached secondary motion. Some engines re-bake the cache at import time based on the animation curve. Others use the cached file directly. If the engine re-bakes, you might get different results than your DCC tool produced. Verify the output in-engine before signing off. The Marble Trap is not a bug in your software. It is a gap between how skeletal animation and simulation systems communicate. Once you understand where that gap lives in your particular pipeline, you can patch it instead of fighting it.
