Monday, March 31, 2014

Tip: Using Maya blendshape node to subtract out a posed mesh

Hi,

I ran into a situation when creating a wrist deformation that I wanted to additionally shape it to prevent skin collapsing when wrist was rotated upwards.  I had earlier written a plugin to try to subtract out a posed mesh from what we sculpt but for some reason which i'm still investigating it bugged out, so i tried using a blendshape node and the tip that using a -1 in the blendshape channel to actually subtract out a shape to create the corrective shape.

Basically i duplicated the wrist mesh when it had no joint rotations (lets call it "meshDefault").  Then I put the wrist joint at -90 in rotatez and duplicated the wrist mesh there (say we call this "meshPosed").  Then I duplicated "meshPosed" and shaped it to improve on wrist look (say we call this "meshSculpted").

Then i created a blendshape by selecting "meshPosed", "meshSculpted" and finally "meshDefault".  
Now when we put -1 on the blendshape of the posed mesh ("meshPosed") we remove all the local vertex transformations from the pose and then by putting 1 on the sculpted mesh ("meshSculpted") we are left with just the additions we made after the original skin-painting had done its work.   We can then copy out this mesh and use it on top of our joint weight deformation to improve the wrist look.

Hope this was helpful.

cheers,
-Nate

edit:
I'm still in the process of figuring out how to make correctives on the rig i'm making.  I think there are some flaws with the logic i posted above.

Please check out Matt Estela's blog for a great discussion on Corrective blendshapes: (tokeru dot com). 

Please check out Zach Gray's discussion on corrective blendshapes:
(fourthdoor dot com)