Monday, June 3, 2013

Blendshape Making Tips

Happy Monday,

To make these examples I basically used the soft mod tool to sculpt blendshapes.  For the lip lifting I used a joint and copied the deformed mesh as a blendshape.  For the narrow shape I used multiple soft mods to make it.  I used polygon smooth tool and blendshape edit paint weights so vertices on one side wouldnt go to the other side.  Hope you find these examples helpful.

--lip narrow
to make this i used at least 5 sculpt deformers trying to push the lips verts as close to center as possible.
this caused going across to other side.  I created a blendshape anyway.  I flooded weight zero on opposite side.  Then i scaled weights of left side border to try to get so no edges crossed to other side, but trying to get a small a pucker as possible.  I duplicated out this mesh.  I further smoothed it with polygon smooth tool making sure not to go to opposite side.  then i used this one as left side blendshape.  (important narrow widen shapes work easy together (so does corner up down) because they are complete opposites.  it was very hard to try to get a lip corner up, and smile to work together as separate shapes.  im thinking when smile turned on all other shapes need to be turned off, and when any other shapes on smile shape must be off)

--lip corner height
to make this i made 2 blendshapes one for up, and one for down. to make blendshape i use a pair of soft mods. 1 for the corner and the other to improve fallof..
i tweaked the fall off radius of the soft mod.  and after keying blendshapes with a window seeing both deformed mesh and blendshape. i moved verts to improve deformation.

some tools that are helpful are
-mirror blendshape tool
-make joint/locator on selected
-go from poly edges to a curve

-Here is a rough mirror blendshape tool I wrote for Maya 2008, it needs nearestPointOnMesh plugin loaded.

To create the mirrored shape. Give tool the deform mesh in original state (blend weight at zero) at the right side mesh. Tool assumes front of character is positive z, and it only handles mirroring in +x or -x direction.  You can put all the scripts in zip into your scripts folder so Maya can find it or just tell maya to source from wherever you saved it.
eval( "source \"naMath.mel\";" );
eval( "source \"naGeneral.mel\";" );
eval( "source \"na_assertGeneral.mel\";" );

//default mesh, blend shape, +x means mirror from +x to -x
eval( "source \"naMirrorBlendshape.mel\";" );