[Bf-committers] New Modifier : Morph Target

k k kkmlist at yandex.com
Tue May 27 02:09:38 CEST 2014


Hi
I have created a new modifier (welI I actually created more than a  year ago). I am trying to get it into the trunk because I believe it is very useful and brings some convenience over the traditional way of doing morphs in Blender.

This patch was reviewed by Psy-fi and PlasmaSolutions (they might provide me more feedback once they have time). It might still require additional nudging however I feel like it is feature complete as far as the planned functionality goes. The user welcome from last year and this was very warm (based on forum replies) and it sounds like the blender users could enjoy this feature.

MorphTarget(codename) modifier`s real purpose is to let artists to use "an actual mesh " as a morph target so that the user does not rely on implicit shape keys data structures. The shape keys are very useful however due to their exotic existence it does not give the user much play room. They are incredibly useful, MTM tries to achieve additional functionality.

Highlights

  One of the most important aspect of having a separate morph modifier is that it can be stacked in the modifier list unlike the shapekeys. The shapekeys deformation happens before anything else happens therefor the user has no control over when the morphing should occur. 

  It can use the previous mesh data that is streaming from the modifier stack (both the target and the source) which is something the shape keys cant do due to the way it works. I believe that it was a design choice not a limitation.


You can see some basic demonstration be me below

https://vimeo.com/95800023

https://vimeo.com/62574201 (from last year)


Terminology
    
    MTM         > Morph Target Modifier
    Source_A    > The item that has the MTM
    Target_B    > The item that Source_A morphed into

What Morph Target Modifier is not 
    
	* This is not a replacement for shapekeys.

	* MTM does not attempt to limit or interfer with shapekeys functionality.

	* MTM is not trying to duplicate functionality rather it is trying to take advantage of other ideas in Blender
    
	* MTM is not a general purpose shape shifter (it does not handle arbitrary topology atm).

	* MTM does not hold/create special data to do morphing. It merely calculates morph vectors on the fly based on another mesh
    

Why use Morph Target Modifier 
    These are not the only cases where it is useful, however I am listing the most important and the main advantages over the shape keys here

	* MTM is listed in the modifier stack therefor can be repositioned in the stack whereas shapekeys happen before anything else.

	* Not only it can be stacked in the modifiers, it can also use the calculated vertex positions from the previous modifiers.
          Therefor it effectively supersedes shape keys if such functionality needed. On the other hand the shape keys can only be used against the original mesh data. The deformers are discarded naturally. 
            This is optional and can be selected in the panel (use_modified flag)
    
	* MTM can also use the modifiers data from the Target_B which means that it uses the final derived mesh for its purposes
          For example you can apply other deformers like Armatures/Displacement etc on Target_B and get that to be target morph data 

	* One of the places this is very handy is when you want to modify your item in another program (like Zbrush) and bring back the resulting mesh and merge your changes. While there are other ways
           to achieve similar things in Blender, I have found this way to be the most convenient for my needs
    
	* MTM lets you treat your morph targets more like a palette. Once you have all your target meshes, you can mix and merge changes from different parts of those meshes  or full parts from them into your original
           mesh item using weights, and morphing. 
           The shape keys are implicit and you generally cannot see all at once. There are ways to achieve that however I believe that MTM way is the most elegant in this case. 

	* MTM can be put in any position the modifiers stack however because there is no artbitrary topology matching  so it is not a good idea to use the remesh modifier with it.

	* MTM can be used for corrective morphing in a limited way with rigs atm (because it does not understand the pose space at this point). This is planned

	* Finally like all the other modifiers, you can turn your resulting mesh data into shapekeys if you wanted. So it is a great compliment to underlying shapekeys workflow.



What are the planned features

	* Arbitrary topology matching

	* Pose space morphing for corrective shaping/sculpting for rigging purposes 

	* Vertex Color, Vertex Weight and other mesh data morphing (Morphing one meshes vertex colors to anothers, like blending)

	* Non linear blender, ie slerp 

	* Sculpt morphing to see the changes in realtime on Source_A (if we can get depgraph flag updates when in th sculpt mode). At the moment one has to manually update, ie some ui changes.



Links

Old forum link: http://blenderartists.org/forum/showthread.php?286279-Morph-to-target-mesh-modifier-is-ready-for-testing

New forum link: http://blenderartists.org/forum/showthread.php?337131-Updated-Morph-Target-Modifier-by-kkar&p=2648907

Patch page: http://projects.blender.org/tracker/index.php?func=detail&aid=34635&group_id=9&atid=127

Wiki Page: http://wiki.blender.org/index.php/MorphTarget_ShapeBlender_Modifier

Diff Page: https://developer.blender.org/D542


cheers


kursad


More information about the Bf-committers mailing list