Thursday, July 24, 2014

Some tech tips Face Rigging


(1) i first named blendshapes so they made more sense on what they actually do (2) can we use more than one shape at a time which favors separate controls or does it depend on other shapes probably (math needed expressions ..), or are two shapes not allowed to be on together favoring single control with both shapes at extreme

corner up/dn (dont use both at same time --  1 control)
center closes (allow using both at same time -- 2 controls)
corner closes (it knows to do nothing when no corners are active, it knows to change behavior depending on which corner is active, hence expressions and 1 control)

//corner closes it knows
//to do nothing when no corners are active
//to change behavior depending on which corner is active
closeOnOpen_blend.l_openA_cornerUpClose = clamp(0,1, l_locator7.translateX)*closeOnOpen_blend.l_openA_cornerUp;
closeOnOpen_blend.l_openA_cornerDnClose = clamp(0,1, l_locator7.translateX)*closeOnOpen_blend.l_openA_cornerDn;

(3) can still get rotations from blendshapes to drive joints, blendshapes, sdks …
trick to use aiming on something stuck on mesh (rivet).  so when mesh moved by blendshape thing aiming will give some rotations. trick is to pick a spot on mesh we know has alot of information about when want to recognise something (ex: for jaw i picked a point on mesh near chin not near lips so teeth would move with jaw rotations but not lip movements, it may need some math to get rotations looking okay)

(4) overall workflow wise i like to separate tech (sdks, expressions, nodes)  from artistic (sculpting of shapes, ZBrush workflow, Maya modeling).  also i like to separate preliminary testing of shapes from the face ui so can make changes faster (basically i use locators as controls to test things)

Hope this is helpful,


Inspired by Michael Bazhutkin (i used his online rivet tool to help get teeth moving with jaw open blendshapes)