Creating DMM

There are several ways to create a DMM Object. One of the two most common ways is to create a DMM primitive. The second is to create a watertight, non-self intersecting polymesh and then to turn that mesh into a DMM Object. In both cases the result will be a tetrahedral mesh assigned with default physical materials and controlled by the DMM simulator.

The DMM Object will have its own transform node, and can be placed anywhere in a scene and at any orientation etc. The same transform node is also the parent of output mesh so moving any of these meshes will move the DMM Ojbect. But changes to the shape of the DMM Object should be done to the Input Surface Mesh of the DMM Object, not on the final output. To show the input cage of any DMM Object, and to hide the output Tet Mesh, use the DMM Asset Manager.

To create a simple DMM Object, first choose the DMM menu set from the list of Maya menu sets. Next choose "DMM Asset" menu from the top menu bar. Then choose "Create DMM Object Primitive" to create a primitive (cube, sphere, etc.) or click on one of the first six icons of the DMM shelf.

In order to adjust the dimensions and other attributes of a DMM primitive. First create the primitive. Then use the select the DMM Asset Manager under the Edit DMM menu. In the DMM Asset Manager window, turn on the Source Cage and click the Edit Faces button. Now the attributes for the primitive will appear in the Maya Attributes Editor and can be adjusted.

Creating a DMM primitives is really only useful if the DMM Object you wish to create resembles one of the primitive shapes. It is also possible to create a DMM Object using any polymesh as the shape as long as the polymesh is watertight and not self intersecting. The polymesh is referred to as a "Tet Cage" because it is expected to envelope a more detailed Surface Mesh which will be deformed and fractured by DMM. If you already have a polymesh you wish to use as the Surface Mesh for your DMM Object, you may want to create another polymesh that envelopes and simplifies the Surface Mesh.

A polymesh can be checked to make sure that it will work as a Tet Cage. The "DMM Asset >> Verify Polymesh" menu item will check the mesh and highlight any problem faces.

There are cases where the Surface Mesh is fit to be used as a Tet Cage. That's especially true when working on cinematics as the rendering time is not critical, unlike in real time environment like games. Once you have selected a polymesh to use both as a Surface Mesh and a Tet Cage, choose "DMM Asset >> Create DMM Object from Polymesh" menu item to create a DMM Object or click on the appropriate shelf icon.

To create a DMM Object starting with a polymesh as the Tet Cage, select the mesh and choose "DMM Asset >> Create Bare DMM Object >> From Polymesh" menu item to create the DMM Object. The finite element tetrahedral mesh of the DMM Object is automatically created by "nicely" triangulating the polymesh and then uses the resulting triangle mesh is filled in to create a "nice" tetrahedral mesh. A nice triangle or tetrahedra is as close as possible to the ideal one (every angle is 60 degrees). The larger the flat areas of the polymesh, the "nicer" the triangle mesh can be. The object has been assigned default physical materials and is plugged into the DMM simulator. So if you click on the Maya play button, the mesh will simulate and fall under the effect of gravity.

The density of the Tet Mesh of the created DMM Object can be adjusted by changing the triangulation attributes and/or the tetrahedralization attributes. The triangulation attributes have the biggest effect on mesh density. Both the maximum area of the triangles and the minimum angle (in degrees) of the triangles (the "Quality" attribute) can be specified using the DMM Asset Manager (selected via the Edit DMM menu).

Alternatively, clicking on the "Triangulation" button will select the triangulation node (SurfTri) and its attributes pane will appear in the Maya Attributes Editor. Adjusting the triangle Area or the triangle Quality (minimum allowed angle) will immediately update the 3D display.

Area and Quality work in pair as changing only one of the two parameters may not change the result of the triangulation. Here is a few examples that show it.

This a simple polygonal mesh. The top face measure approximately 1 meter by 2 meters.

If the material applied to this object prevent it to either bend or break, then lowering the number of triangles (thus tets) will not affect the behavior of the simulation and it will speed it up as well. Intuitively one would increase the maximum area allowed for the triangles so they can grow bigger thus decreasing their total number.
The bigger face has an approximate surface of 2 square meters, so setting the Area parameter to 2 should allow the triangles to grow big enough to have only 2 per face.

Obviously changing the Area parameter didn't produce the intended effect. This is due to the fact that the minimal angle allowed for the triangles is of 20 degrees. By changing this value to 10 degrees we can get down to 2 triangles per face, as shown below.

Now let's apply some rubber material on the DMM Object so to have it to bend under it's own weight. In that case, increasing the number of tets will aslo will increase the quality of the simulation.
(Note that the left part of the mesh is hold still, so that only the right part could move down)

Although the same material is applied to all 3 DMM Objects, they simulate differently. The closest to reality is the third object with the higher count of tetrahedrons.

The triangulation algorithm tries to create the "nicest" triangles as possible (with respect to the Area and Quality) so lowering the Quality for the second and third objects will not have much effect. This is because the Area parameter is so small compared to the faces' surface that the algorithm doesn't have to make compromise on the triangle angles to make them not bigger than the given area.

The Area parameter set a maximum for triangles area whereas the Quality parameter set a minimum for the triangles angle.

When working on high density meshes, running the triangulation immediately may not be desired. For instance if you wish to change the Area and the Quality, as soon as the Area attribute is changed Maya will begin to calculate the new Tet Mesh. You will have to wait for the calculation to finish before changing the Quality attribute. Then the mesh will be recalculated and you will have to wait again. If the computation takes a long time, it's recommended to set the Run mode to wait and then make changes to the other attributes. When all the changes are completed, change the Run mode to once or back to auto, and the Tet Mesh will update. The Run mode is set via the Triangulation (Surftri) and Tetrahedralization (Netgen) panes in Maya Attribute Editor. To easily bring those panes up in the Attribute Editor click the "Triangulation" and "Tet Generation" buttons in the DMM Asset Manager Window.

You will see a Scale 1 and a Scale 2 in the Surftri attributes panel. These allow you to create a Tet Mesh which is stretched in up to two directions. A DMM Object will be stronger and less flexible in the directions that its Tet Mesh is stretched. An example of using a stretched Tet Mesh would be for a wooden object where the Tet Mesh is stretched in the direction of the grain of the wood. This would make the wood stronger against the grain, and would break more readily with the grain. Adjusting tetrahedral mesh shape like this is a very effective method of getting anisotropic behavior.

Clicking on the "Tet Generation" button of the DMM Asset Manager will select the tetrahedra generation node (Netgen). This node presents the same scaling attributes. For best results, have the scaling attributes for tetrahedraliztion (Netgen) match the ones of the triangulation (Surftri) node. The DMM Asset Manager window allows for the seeting of the scale1 related attributes. When modified, both the SurfTri and Netgen node are updated and match. Note that the magnitude needs to be higher than 1.0 to enable the scaling.

The maximum height of any tetrahedron in the mesh can also be set. This is done via the "Netgen" node attributes. The DMM Asset Manager will display the number of tetrahedrons in the Tet Mesh of the selected DMM Object.

The default values of Area, Quality, and Magnitude (X, Y, Z) can be changed. To set them, click on the option box next to the menu item "DMM Asset >> Create DMM Object from Polymesh".

Once a DMM Object has been created from a polymesh, it is possible to undo the action and get the polymesh back when the DMM Object is gone using Maya undo. However, to undo a DMM Object that has been created earlier, select the DMM Object and choose "Edit DMM >> Disassemble Asset" menu item.

Requirements for a Tet Cage
  • Needs to be watertight
  • Needs to be made of one connected component
  • Can have convex and non convex faces only if not splinterized
  • Can have non-planar faces (to some degree) only if not splinterized
  • Can't be an instance



Next: DMM Passive Regions