Tuesday 31 July 2012

HR - WIP - 023


HR - WIP - 023, originally uploaded by James D Thompson.

Via Flickr:
This is the node graph procedurally generated when applying the stretch to a limb.

Moving from left to right, basically its a distance tool connected to the start and end of the limb,
This tool outputs the length of the arm,
The condition node then compares the distance to a "Stretch start" value (will mention later)
If its larger it will switch the outputs to true (which is is the distance/by "Stretch start" value)

The "stretch start" value is the length of the arm when its fully locked, this means the condition node compares the current length of the arm to the length when its fully locked,

If the distance tool have a value larger than the length of a fully locked arm this is where the stretchy switches on,
So basically the stretch starts when the arm is fully extended.

The final output is linked to the scale X of the joints which just stretches the joint chain.


The multiply/divide nodes basically make sure its a smooth transition,
this means as the arm gets fully locked, the dimension tool and "Stretch start" value are equal,
so dividing these two results in 1,
as it increases its basically stretching the limb in proportion to the "Stretch start" value
Without this the limb would jump a large amount as it would stretch and add the length of the arm as well.

The top left multiply/divide node holds the "stretch start" value,
This will later hook up to the Global controls scale,
This means as the whole rig is scales up, so is the "stretch start" value as the length of the locked arm will be larger due to the arm being scaled up as-well.

No comments:

Post a Comment