From BlenderWiki

Jump to: navigation, search

If you want to document Blender 2.5 features please edit pages under Doc:2.5/Manual.

If a "2.5" page doesn't exist please copy the text from 2.4x Manual and edit the new page (i.e. you should paste the wikitext from this 2.4x page to this new 2.5x page and then update the latter with 2.5 features)

[edit] Mesh Deform Modifier

Mode: ALL

Panel: Editing → Modifiers

Hotkey: F9

Menu: NONE/NA

[edit] Description

The Mesh Deform Modifier allows an arbitrary closed mesh (of any closed shape, not just a cuboid shape of a Lattice Modifier) to act as a deformation cage around another mesh.

Example of a Deform Mesh Cage - Deforming a Sphere

Above is an example of a Deformed Object (shaded in gray) inside the confines of a Deform Mesh Cage (shown in black wireframe). The Deform Mesh Cage can be any shape of mesh but it must be closed. In the example above the Deform Mesh Cage is just a UVSphere that has been altered using proportional editing, as a result the Deformed Object alters its shape in response. The Deformed Object has had a Mesh Deform Modifier added to it and has been told to use the Deform Mesh Cage as the mesh it will use to deform itself.

Mesh Deform Modifier Panel

[edit] Options

The Mesh Deform Modifier is reasonably easy to use but it can be very slow to do the calculations it needs, to properly map the Deform Mesh Cage to the Deformed Object.

  • Ob:
The Ob: text field is used to indicate which object the Mesh Deform Modifier should use for its Deform Mesh Cage.
Mesh Deform Ob: field highlighted in yellow
  • VGroup:
The VGroup: text field is used to indicate that only the vertices in the specified Vertex Group will be affected by the Deform Mesh Cage.
Mesh Deform VGroup: field highlighted in yellow
  • Inv:
The Inv toggle button by default is de-activated and means that vertices in the Vertex Group specified in the VGroup: text field will be affected by the Deform Mesh Cage and vertices that aren't in the specified vertex group will NOT be affected. When the Inv toggle button is activated, any vertices within the specified vertex group will NOT be affected by the Deform Mesh Cage, while vertices that aren't in the specified vertex group will be affected by the Deform Mesh Cage. Inv is short for Inverse.
Mesh Deform Inv Button highlighted in yellow
  • Bind:
The Bind button is what tells the Mesh Deform Modifier to actually link the Deform Mesh Cage to the Deform Object, so that altering the shape of the Deform Mesh Cage actually alters the shape of the Deform Object.
Mesh Deform Bind Button highlighted in yellow
Be aware that depending on the settings of the Mesh Deform Modifier & complexity of the Deform Mesh Cage/Deformed Object, it can take a long time for this operation to complete. This can result in Blender not responding to user actions until it has completed, it is even possible that Blender will run out of memory and crash. As Blender progresses through this operation you should see the top area of the Blender header bar change color as it works its way through Binding the Deform Mesh Cage to the Deformed Object.
  • Unbind:
When a Deformed Object has been associated to a Deform Mesh Cage it can later be disassociated with a Deform Mesh Cage by selecting the Unbind button which appears when a Deformed Object has previously been associated with a Deform Mesh Cage.
Mesh Deform Unbind Button highlighted in yellow
When Unbind is selected the Deform Mesh Cage will keep its current shape, it will not reset itself back to its original start shape. If the original shape of the Deform Mesh Cage is needed you will have to save a copy of it before you alter it. The Deformed Object will however reset back to it's original shape that it had before it was Binded to the Deform Mesh Cage.
  • Precision:
The Precision numeric slider field, controls that accuracy with which the Deform Mesh Cage alters the Deformed Object when the points on the cage are moved.
Mesh Deform Precision numeric slider highlighted in yellow
The range of values for the Precision numeric slider field can range from 2 to 10. The default value for the Precision field is 5, raising this value higher can greatly increase the time it takes the Mesh Deform Modifier to complete its Binding calculations.
Increasing Precision slider will get more accurate cage mapping to the Deformed Object. This rise in calculation time can make Blender stop responding until it has calculated what it needs to. As well as making Blender not respond, raising the Precision value high and then trying to Bind on a very complex Deform Mesh Cage or Deformed Object can use large amounts of memory and in extreme cases crash Blender. To be safe, save your blend file before proceeding.
  • Dynamic:
The Dynamic button, indicates to the Mesh Deform Modifier that it should also take into account deformations and changes to the underlying Deformed Object which were not a direct result of Deform Mesh Cage alteration.
Mesh Deform Dynamic button highlighted in yellow
With Dynamic button activated other mesh altering features such as other modifiers and Shape Keys are taken into account when Binding a Deform Mesh Cage to a Deformed Object.
The Dynamic button is deactivated by default to save memory and processing time when Binding. When Dynamic is activated deformation quality can be increased, but this comes at the expense of Binding time and memory used.

[edit] Other Characteristics of Mesh Deform Modifier

There are some characteristic of the Mesh Deform Modifier which are not directly visible within the Mesh Deform Modifier pane. This section list some of those issues and features.

[edit] Mode of Operation

Alterations made to the Deform Mesh Cage will only be reflected in the Deformed Object when the cage is in Edit Mode, when in Object mode the cage can be scaled and distorted but it will not effect the Deformed Object.

[edit] Deform Mesh Cage Location AFTER Binding

While a Deform Mesh Cage is being Binded to a Deformed Object the cage must surround all the parts of the Deformed Object you wish to be affected by the cage. Once the Deform Mesh Cage has been Binded it can be moved away from the Deformed object in Object Mode. When you then switch the Deform Mesh Cage back to Edit Mode and alter its shape, it will alter the Deformed Object even when it is not directly surrounding it.

[edit] Distance from Deform Mesh Cage & Deformed Object

Distance between the Deform Mesh Cage and the object to be deformed (Deformed Object) has an influence on the amount of change imparted to the Deformed Object when the Deform Mesh Cage is altered (when in Edit Mode). When the Deform Mesh Cage is further away from Deformed Object, then the amount of change imparted to the Deformed Object is less and less local to a specific area of the Deformed Object. When the Deform Mesh Cage is closer to the Deformed Object the amount of influence upon the Deformed Object is greater and more local to a specific area on the Deformed Object.

Un-deformed Sphere
Smaller Distance Between a Deform Mesh Cage & a Deformed Object
Large Distance Between a Deform Mesh Cage & a Deformed Object
Animation showing the difference between each Sphere deform in a Deform Mesh Cage (click to see animation)

Above are examples of the effect of different Deform Mesh Cage distances from a Deformed Object. The top left image shows a normal un-deformed UVSphere. The top right image shows the same UVSphere but with a Deform Mesh Cage which is very close to the Deformed Object, and as a result there is quiet large deformation in the Deformed Object. The bottom left image shows the deformation of a Deformed Object when the Deform Mesh Cage is further away. It can be seen that the Deformed Object alteration is much more muted, even though the vertex that has been moved in the Deform Mesh Cage has moved by the same amount. The bottom right image shows an animated version of the other 3 images showing the change in the Deformed Object with different Deform Mesh Cage distances.

[edit] Multi-res support?

At the moment (as of Blender 2.47) Blender does not support use of Multi-res when using the Mesh Deform Modifier.

[edit] Interior Control

Besides the cage itself, you can have more faces within the cage, which can form a "sub-mesh" loose or closed, and allowing an extra control on some areas of the Deformed Object. These sub-meshes might be linked or not to the main cage, intersect it, etc. For example, you could use a big cage deforming a whole face (to get "cartoon" effects), with two smaller sub-meshes around the eyes, to better control them.

Non-deformed Sphere, with a deforming cage including a small sub-mesh.
Deformed Sphere in two different directions by the two sub-meshes of the cage.

In the example above, much more modest, we are back with our two spheres, the small one deformed by the big one. But this time, a small open sub-mesh (a slightly concave plane) has been added to the Deform Mesh Cage, closer from the Deformed Object (left picture). In the right picture, the sphere-cage's vertex has been moved towards the centre, causing a quite general recess of the deformed sphere, since the cage is originally quite far away from it. However, the area of the Deformed Object controlled by the little added sub-mesh (of which the central vertex has been moved in the opposite direction) comes out as a little central bump.

Mesh Deform Characteristics
The cage Modifier works by taking into account bounding faces of the cage to the Deformed Mesh when doing it's calculations to bind the cage to the Deformed Object, influencing the implicit object (e.g. Vertices and Edges implicitly), using their boundary faces to do it's bind calculations. (Info from Greylica)


[edit] Implementation

The Mesh Deform Modifier implementation method in Blender 2.46 is currently "Harmonic Coordinates (for Character Articulation)" Volume Deformation Method developed by Pushkar Joshi, Mark Meyer, Tony DeRose, Brian Green and Tom Sanocki of Pixar Animation Studios. This method was presented at the Siggraph 2007 conference. It has many advantages in controlling the deformations of meshes.

A copy of the implementation pdf document can be downloaded here:

Harmonic Coordinates for Character Articulation

A video demonstrating some of the important features of the implementation can be viewed below:

[edit] Examples

Blender file showing an example of a Mesh Deform Modifier

Blender file showing the effect of distance on the effect of a Mesh Deform Modifier

Blender file showing the usage of Deform Mesh Cage on the BBB Chinchilla

[edit] See Also

Put related links here.