View Full Version : Question: Slinky Rig

03 March 2007, 07:32 PM
Hey guys heres a Q for you...

If you had to rig a slinky How would you go about it? I'd like to hear people's approaches.
So far I'm using a pretty basic spline-spine type of setup with curvinfo and some math nodes to do the stretching along a spline (with one bone per ring of the spring)

The problem with this setup driving a spring is that there is no way to simulate the non-linear compression that occurs as a slinky rolls / jiggles (the wave-like motion)

The rig will be used in an engine, so at the end of the day everything needs to work on a joint-heirarchy (using only joints as deformers, of course)

Thanks in advance!

I did notice that there is one other post about a slinky rig, but its almost a year old and only a few replies.

03 March 2007, 02:44 AM
Id build a custom ik spline solution - that offers:

1.stretching and locking of joints along the spline on a localised and global level. I.e move a joint along the spline, lock it and the rest will bunch up to it when stretched/compressed.

This infact could be procedurally driven, dynamically on the fly based on the compression )in real-time) in the viewport. I.e move object, check frame and last frame, update joint along spline to new position. Essentially a real-time lag of the joints down the chain based on the length of the chain from its control handles. As its basically a sinoidal wave. You could use a weight at each end/control point to control the clumping of the joints i.e they get closer to those handles ala rational-bezier curve, youd also maybe need to look into non-unformality.

2. movement of joints along the spline.

3. parameterized of the curve, based on set of control handles. I.e if the curve the spline is is too sharp, parameterize the curve to handle better curviture.

Sounds fun! Gets me thinking :)

03 March 2007, 08:16 PM
Hopefully your game engine supports more than just rotation.. :thumbsup:

I whole heartedly agree with Eeks approach to this type of Rig. I as well have thought lately what types of approaches I would take to Rig a slinky, but definitely not to go in a game engine, would have to think about this a little different.

I honestly think it would be pretty difficult to create robust slinky rig that works for all the different types of motion a slinky could do. i.e. Rolling down stairs, getting held at both ends and shook..

I think you need to ask yourself a few questions.

What types of motion are you looking to accomplish with this rig?
At what level of complexity can you get the simplest form of animation that you need?
Can you get the motion you want out of just one skeleton?
Do you need multiple skeletons for different motions?

I would probably have multiple skeletons driving my main skeleton.

First of which would be a skeleton that has a compression type splineIK (similar to mentioned by Eek)
Second of which would be a dynamic secondary skeleton to add that extra lag (this could also go on your controls)
Third.. Fourth, would be the different ways to animate it, these as well could just be your controls all driving that main skeleton.

Best of luck, I hope to see some posts of this if you are able..


CGTalk Moderation
03 March 2007, 08:17 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.