suggested workarounds for using shape keys with multires

hi
i’d like to know from as many blender users as possible, what your suggested methodologies and workarounds are for animating a character’s face with shape keys (and not a full facial rig using only bones, lattices, hooks etc and no shape keys) when the model has been created using multires and sculpt mode, and has well laid-out, non-overlapping UV’s.
following are three of my own suggestions (please let me know what you think)
1)model the character as usual, enable multires. sculpt all high resolution geometry. apply the multires at it’s highest level, this leaves you with a model that has too high a polycount for animation but can have shape keys added to it. in order to make the model more suitable for animation purposes, apply a decimate modifier. animate the model, then delete the decimate modifier when it’s time to do the final render.
problem with this method is that decimate creates ugly geometry, that could lead to inaccurate deformation during animation particularly in the facial region where geometry must be specifically placed in order to create believable facial muscular deformation (geometry that is identically, mirrored on both left and right sides of the model’s face is particularly useful in creating this type believable deformation, the decimate modifier does not create identically mirrored geometry). also, the modifier becomes inactive when in edit mode, this means that shape keys have to be modified on high res geometry.
2)model the character as usual, enable multires. model all high resolution geometry. apply the multires at it’s highest level, then save the file with a different name. undo applying the multires to the original file go to a lower level of the multires mesh and apply the multires at that level (a low polycount level). import/append the highres mesh to the current file. rig and animate the low res mesh, incl shape keys. use the meshDeform modifier to transfer the animation from the low res model to the high res model which will subsequently be used for rendering. i have not tested this method extensively, does shape key type animation transfer well with the meshDeform modifier?
3)model the character as usual, enable multires. sculpt all high resolution geometry as per above method retain two versions of the model a highres version and a low res version. apply the multires to both models then use the highres model to bake a normal map. apply the normal map to the low res model rig, animate and render it.
problem with this method is that the normal map looses it’s integrity when viewed from certain angles (particularly in the outlines/form of the geometry). a possible solution to this might be to use a displacement map instead of a normal map, however displacement maps are prone to increasing render times.
one of the main issues about these methods is that before shape keys can be used, multires has to be applied to the mesh, thereby loosing the ability to switch between varying mesh resolutions using the multires feature during animation. if you have any suggestions to working around this issue i’d really like to hear them.
thanks
lyndon

If you are using blender 2.48 you should use displacement maps. Displacement maps don´t increase render times that much, specially because the rendered object will have the same number of polygons as the original multires object…so, if you were able to sculpt the high resolution object in the viewport, you should have no problems rendering the original object with subsurf and displacement modifiers.

This is the way to handle detailed characters animation in every package, whether you sculpted your character in ZBRUSH, MUDBOX or BLENDER.

There is another option that may suite you. Try downloading the latest MultiRes branch, you may have to compile it as I haven´t seen any new build at graphicall.org.

With the new multires branch (that will be inegrated into blender 2.50) you can sculpt an object, and then add shapekeys and animate it without the need of displacement maps, as now multires is handled as a modifier, and displacement is tangent based.

Here´s the link to the source code

https://projects.blender.org/plugins/scmsvn/viewcvs.php/branches/soc-2008-nicholasbishop/?root=bf-blender

If you want to compile it in linux here´s the svn adress

svn checkout https://svn.blender.org/svnroot/bf-blender/branches/soc-2008-nicholasbishop