Problems with rigging a spring

Hi I have a problem that I hope you can help me with. I what to rigg this spring (1.) so the left end of the spring is fixed to the red part when it’s moving along the axis.

The problem is that I only want the space in between the spring to change when I’m deforming the spring i.e the thickness of the spring should always be the same. But if a I rigg it with amature or with a lattice I get the problem that whole spring is deforming (2), which not what I want! =/


You can do this with shape keys. Use the screw tool to make your spring. Copy the line of vertices and the spring cross section to make a second spring, but scale the line of vertices to make the second spring either longer or shorter. This will ensure the thickness of the spring is the same. Make the springs separate objects.

Now, take one of the springs, and set a basis key, on frame 1. Move the timeline to frame 11. Using the other spring as a model, move the individual cross sections to their new locations (it helps if the spring is along an axis so you can use a contrained move). Once all the cross sections in the first spring match the second spring, set another shape key. Now you can use the shape key slider to change the spring from extended to compressed, keeping the same cross section.

Hope this makes sense. It does work.

I basically used the technique described by Orinoco (except using curves).

Also, I have an example blend file (pogo stick) which is similiar to what you are doing.

It’s the second link at:

The controls are :
control bone - grab to compress/expand the spring,
base bone - rotate to orientate the pogo stick (I’ve since modified this by adding a root bone ahead of the base bone, so that the pogo stick rotates on the edge of the base instead of its center point).
Hope that helps.

Thanks for your help! I will take a look at them tomorrow when I have the time (getting late here)