[Bf-committers] New Modifier : Morph Target
kkmlist at yandex.com
Tue May 27 02:09:38 CEST 2014
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.
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/62574201 (from last year)
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.
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
More information about the Bf-committers