This is the set-up that I am struggling to rig: enter image description here

The swing bar on the right in this image is fairly obvious. I can just use a bone to control how it swings (cyan).

The part I'm stuck on is the actual spring itself. The axle will be about where the 3D cursor is, and it will move up and down (magenta). As it does this, the spring will become more, or less curved. As the spring becomes less curved, it will extend along the y-axis, which is why you need the swing-bar, to accommodate this movement.

It should be noted that the actual movement of the axle will be at a slight angle (yellow). The spring is fixed at one end, so the 'center' will move back and forth along the y axis while the spring expands and contracts.

How can I rig this leaf spring so that the spring retains the same length, and bends/flattens evenly across its length?

Note: I am not concerned about the individual leaves of the spring. In a real spring, the leaves would slide against each other as the spring bends so that they each maintain their length, but I don't need that level of detail.

This is my attempt so far: I use an IK constraint on the end of the leaf spring attached to the swing bar, which runs the length of the spring. enter image description here

The first problem is that the deformation across the bones of the IK constraint isn't even. Is there some way to ensure all of the deformation is spread equally across all of the bones? Or to put it another way: The angle between each two bones should be the same.

The second problem is that this is really being driven the wrong way around. What I really want is for the position of the axle to drive the spring, which pushes the swing bar. Here, I've got exactly the opposite: The swing bar pulls the spring, which moves the axle.

Here is a blend file containing the depicted set-up:

  • $\begingroup$ Sounds like a job for shape keys driven by the position of the axle. Will that work? $\endgroup$ Sep 15 '21 at 19:44

Lattice Modifier.

Quick proof of concept.

enter image description here

  • Add a vertex group to spring enter image description here

  • Track the bone to this vertex group enter image description here

  • Add a lattice, move and scale in object mode to encompass leaf spring object. enter image description here Add a lattice modifier to spring using lattice Tweak this, eg could make a vertex group to leave out the ends. enter image description here Experiment with position in modifier stack

  • Make a shape key for the compressed spring. Have done a very quick and dirty effort as proof of concept


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.