Wednesday, October 05, 2011

Creating stretchy joint chains

Been meaning to do this tutorial for a while, but never got around to it. Some fella named Jeremy Parrish did a tutorial on this subject that I saw recently ( and did a few thing differently than I would do.
1) I now use the "distanceBetween" node in rigs. Easier, cleaner.
2) WHAT we're measuring makes a difference. So a bent leg, for example, needs to be measured differently than a straight leg. Subtle, but important distinction that needs to be looked at depending on your model.
3) by measuring the leg joints that are being stretched (or any static, constant measurement), you have issues with scaling. These can be solved (as Jeremy shows), but that may, in fact, create some weaknesses in your rig that can pretty easily cause problems.
So here's a vid where I walk through a stretchy leg the way Jeremy shows and then with a few modifications.


  1. This comment has been removed by the author.

  2. Hey Seth,
    I've just discovered your blog, its awesome.I've been watching the DistanceBetween node and this Stretchy Ik. Both are great but just one thing regarding the stretch. I find using the scale atrribute to lengthen the joints creates an offset between ctrl and the last stretch end joint. I personally use translate attribute to lengthen the joints which gives no offset. The Distance Between node, I get a problem too.when I connect between joint and ctrl(nurbs curve) I get a weird distance reading but if connected between 2 group nodes no problem. I am making sure its worldMatrix to inMatrix1 and rotatePivotTranslate to point1 and so forth.