Wednesday, June 4, 2014

Tool idea to reuse blendshapes after few topology changes


I saw after i worked out lip smile blendshape that the brows would need some topology fixing.  The question i had was would it be possible to change the topology of the brows and also still be able to use the lip blendshape that i already created?

I developed a partial solution (that is long and not to easy to use), the one i wrote using intermediate mesh wasn't incredibly stable, i wrote another more manual solution that was a little more stable but it was not too easy to use.

Here are some of my thoughts about a more usable solution, Possibly useful for changing brow,ear,eye lid topology after made a few lip blendshapes.  Limitation is that we will lose all blendshapes that use any area of the topo changed mesh.

(give it vertices we know topo didnt change,  give it list of polys to make an updated version on)
it makes a new list of blendshapes with the topo additions and with all the blendshapes. 

-- i think it needs to compute a partial mesh containing only vertices we know topo didnt change
-- i think it needs to do some computing and change list of polys into partial meshes (only polygons that are vertices no topo changed it should have exact same verts as above

-- then with the default submesh, and list of blend shape submeshes. it uses a wrap deformer technique where default submesh drives (new topo entire mesh). 

-- then for each bs submesh,  feed in bs submesh into the default submesh via a blendshape node and duplicate out the result giving a (new topo entire mesh)

How to reuse blendshapes that use topology changed area is different and i think more challenging:
Maybe it involves some sort of nearest point thing or uv thing can matchup even the areas that we changed topo attempting to recreate those blendshapes as well.  Maybe it uses some underlying geo we need to fit manually to match up areas.

On a side note:
Tip for blendshape modeling.
--Using ZBrush move topological brush was very helpful.

--I found it helpful before starting the ZBrush modeling to export Maya model as .obj.  Then import it into ZBrush and use the needed setting ZBrush wants like maybe make as 4 sided and triangles only.  Then export as .ma from ZBrush and reimport it into Maya to be used as the default mesh.

--For subtle fixes needed on ZBrush sculpted shape maybe use the paint blendshape weights tool in Maya with a scale of say .98 to fade out areas.
Here's a rough example I made trying to improve a smile shape:
(left:  before fixing lip topology , mid: ZBrush sculpted smile with move topological and clay build up , right:  after paint blendweights in Maya using scale to soften effect near nose)