Is it possible to mask a blend target?


#1

Hey people who may read this.

I was wondering if it was possible to somehow mask a blend shape target so that it can be applied to a mesh unevenly?

For example, if I had a character who turns into a werewolf in the moonlight. I would have a normal mesh, and a blend target which looks more like a wolf. But rather than morph the character evenly, is it possible to control the percentage of the blend in various locations? So, the character would start off growing a bestial hand but otherwise remain fairly normal until it eventually overtakes them?

I know you could probably do this by having lots and lots of morph targets, but that would take forever to set up and get working together well, so some sort of masking solution seems preferable, if its possible.

Does anyone have any ideas?


#2

Hi,

Here are some ideas that may be helpful for low poly characters with simple kinds of morphing.

Maybe try uv-mapping the character and paint some greyscale images (black stands for dont change this from default mesh, white stands for change completely to the final mesh). Then maybe map vertex blendweight to the greyscale image(s) by uvs.

One idea is to make the greyscale image become a series of blendshapes used to progressively morph into final shape but I think this would require some c++ to compute blendshape vertex position differences.

Another idea is to use the greyscale image to create blendshapes by setting blendweights of all vertices directly to the painted texture. I don’t think the blendshapes could be used in combination though without other computing stuff.

Hope this was helpful.

cheers,
-Nate


#3

Hey Nate, thanks for the reply.

This is actually pretty close to something I had in mind; I could perhaps export out the skin weight maps, and then multiply each map by an animated channel, and then somehow compile them all together into a map which would animate the deformation across the model over time, and then somehow use that map as a mask for the morph target.

Do you know if this is possible at all? I have a fair amount if experience rigging, but I’m fairly green when it comes to textures and maps and whats possible/where they can plug into.


#4

OK, so I’ve managed to get textures to add together using the layeredTexture node, and I can manually animate the value of each map by adjusting each layer’s alpha value. This will effectively create the animated map for the morph target which I am after.

However I can’t figure out how to feed this map through to the morph targets weight map? You can import a foreign file as a map easily enough through the paint morph weights screen; all I want is to basically feed the map I have made through to this frame by frame. Does anyone know if this is possible? I seem so close but can’t quite close the deal on this one.


#5

I’m prettu sure it’s doable with the SOUP node…although haven’t test it myself. take a look there are exemple files.

In maya it’s pretty much not possible out of the box without coding because you cannot use animated textures in the paintBlendshape tool…last time I tried at least.
I wish there was something like that for a long time it would be time saver for many things.

cheers


#6
   Hi,
 
 Some rough, slow, stuff on getting uv from polygon vertex (there are better and faster ways using c++, nodes etc) [http://nathananozie.blogspot.com/2012/09/mel-query-rgb-of-polygon-uv.html](http://nathananozie.blogspot.com/2012/09/mel-query-rgb-of-polygon-uv.html)
 
 Inspired by:
 -------------------------------------
 setting blendshape weights references
 -------------------------------------
 
 Rob Bateman 
 [http://nccastaff.bournemouth.ac.uk/jmacey/RobTheBloke/www/research/maya/mfnblendshape.htm](http://nccastaff.bournemouth.ac.uk/jmacey/RobTheBloke/www/research/maya/mfnblendshape.htm)
 (c++ stuff MFnBlendShapeDeformer setWeight)

 Francesco Giordana (github.com/fgiordana)
 
 MEL/Python 
 [http://forums.cgsociety.org/archive/index.php/t-718738.html](http://forums.cgsociety.org/archive/index.php/t-718738.html)
 
 
 --------------------
 time line references
 --------------------
 c++ MAnimControl
 Bryan Ewert
 [http://ewertb.soundlinker.com/api/api.009.php](http://ewertb.soundlinker.com/api/api.009.php)
 
 MEL/PYTHON
 [http://forums.cgsociety.org/archive/index.php/t-477327.html](http://forums.cgsociety.org/archive/index.php/t-477327.html)
 
 Rob Bateman
 [http://nccastaff.bournemouth.ac.uk/jmacey/RobTheBloke/www/research/maya/mfnanimcurve.htm](http://nccastaff.bournemouth.ac.uk/jmacey/RobTheBloke/www/research/maya/mfnanimcurve.htm)
 

 -------------
 uv references
 -------------
 closest point on mesh for getting uv's
 
 David Johnson (djx dot com dot au)
 [http://forums.cgsociety.org/archive/index.php/t-629428.html](http://forums.cgsociety.org/archive/index.php/t-629428.html)
 
 [http://www.creativecrash.com/forums/mel/topics/closestpointonmesh-node](http://www.creativecrash.com/forums/mel/topics/closestpointonmesh-node)
 
 
 uv MImage and c++ related stuff
 
 Rob Bateman
 [http://nccastaff.bournemouth.ac.uk/jmacey/RobTheBloke/www/research/maya/mfntexture.htm](http://nccastaff.bournemouth.ac.uk/jmacey/RobTheBloke/www/research/maya/mfntexture.htm)
 
 Bryan Ewert
 [http://ewertb.soundlinker.com/api/api.010.php](http://ewertb.soundlinker.com/api/api.010.php)
 
 Keilun
 [http://forums.cgsociety.org/archive/index.php/t-729364.html](http://forums.cgsociety.org/archive/index.php/t-729364.html)
 
 
 cheers,
 -Nate

#7

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.