Tuesday 14 September 2010

Stretchy Bendy Rig

For main part -
3 chains - IK, FK & Result
Use Blend Color nodes to feed rotation values of IK/FK into Result Joints
Similarly use Blend Color nodes to switch between stretching of joints (feed into scaleX usually)
Generally for IK stretching, parent the IKhandle to some sort of control object. Point constrain the distance node locators to the control object and not the IKhandle. (remember dgdirty as well)

FKstretch for bendy is -

FKstretchFactor x length
Divide by number of bendy joints.
Subtract original translationX to gain offset
Add offset to whatever original translation X was (this part could be streamlined)


IKstretch for bendy is the same.

Point constrain top and bottom joints of bendy chain to appropriate result joints. Orient constrain appropriately too, so that middle joints will follow correctly when not bending.
For bendiness, drive translation Z or Y with a custom attribute, dividing by various factors to gain curve effect.
Would be worth experimenting with rotation instead of translation.


To do - make rigs scalable