Hi there, Can anyone tell me how to animate this spring so when it stretches or strinks it maintains it size. When I look this up in the forums or on google I see a lot of information on using the screw modifier but that involves recreating the spring from scratch. Is there a way to put a spring animation on this spiral object thats already been created.
Hi RyleDupp,
here’s a Geometry Nodes solution that can remap the spring from an “unloaded” to a “fully loaded” state without remodeling:
The setup assumes that the spring is oriented to the Z-axis. If that’s not the case for your spring, you have to change the Vector from the Vector Math - Dot Product node and use a different axis from the Separate XYZ node.
The Min and Max values are the lowest and highest Z-positions of the Spiral Curve without the profile (or from the center of the profile if you will):
Change the Factor input to switch between an unloaded and a fully loaded spring:
If you don’t want to use Geometry Nodes you would have to create an Armature with a couple bones in the Spring axis direction and move (NOT scale) them in their Y-Axis to animate it.
Edit: Updated the nodegroup so that it supports springs with an offset to the origin correctly
Hope that helps!
One can use an armature with 2 bones. Parent whole spring to first bone, insert a second bone.001 and stretch to (constraint) the first to the second. Then a limit scale constraint on bone (the first one again) can be used to prevent the spring from widening.Use G-Z to move bone.001 i.e.:
spring.blend (927.8 KB)
Thank you zebrahead for the thorough and detailed explanation. I will give this a try. Very grateful for your help.
Thank you Kim. Ive seen this video, it wasn’t quite what I was looking for but thank you very much for the link.
Kyra, Thank you, this seems like a quick fix, I will definitely give it a try. Thank you so much for sending a long the file as well. Much appreciated.