Thursday, 20 January 2011

Adding squash & stretch to the spine control rig

So, to add squash & stretch to the spine rig.

The number of spine joints in this example is pretty low purely to reduce the amount of connection explanations I have to type. It should be fairly easy to take this and construct the it over more joints. Normally I'd be working with at least one extra joint, sometimes more, and this really improves the deformation quality in non-stretchy mode but particularly when it is stretching. There are also some real limitations to how far you can go with squash & stretch setups for a game engine which I'll get to later...

Wednesday, 12 January 2011


I thought I'd do a quick post just to say feel free to get in contact with me if you have questions, if I've not properly explained something or just plain missed something important.

I've made a point of not covering really basic stuff because it's already been done to death and I wanted to cover stuff that's (a) not necessarily out there and (b) a bit more interesting that "here are some utility nodes, this is an ikHandle" etc. etc. The flip side to all this is that I might have skipped over some things in my explanations... in which case give me a shout.

Also, I've got a fairly lengthy list of posts that should keep me busy for some time but if anyone has particular areas of rig set up that they would like me to cover then drop me a line and I'll do my best to put a post together.


Spine control rig

Happy New Year! Sorry it's taken a while to get the first post of 2011 out of the door. I started writing this ages ago but work, family and post holiday blues have conspired against me. Anyway...

In this post I'm going to cover how to set up a spine control system. This does include squash & stretch functionality, but in the interests of getting this out I'm going to cover how to add this to it in the next post.

(Update) You can find this here

The core of it consists of a NURBS surface with ik joints controlled via groups attached to the surface using pointOnSurfaceInfo nodes. The surface is deformed by clusters which in turn are driven by controllers. If you're not familiar with uv (texture) coordinates it's worth reading up on this first, I'm not going to go into it here as there is plenty of information kicking around on the subject.