zTetΒΆ

This node creates a tet mesh from the surface triangle mesh of the tissue. The tet mesh is generated using an adaptive lattice with tets no wider than tetSize. The other parameters control adaptive refinement relative to tetSize, as described in Tetrahedal Meshes.

Attribute

Meaning

tetSize

The base resolution of the tet mesh. No tets will be larger than this width. This is the primary value to adjust to make the mesh finer or coarser.

Note: Because we are using an embedded method, the resolution of the tet mesh is conceptually decoupled from the resolution of the embedded surface. Often, you can embed detailed Maya meshes into coarse tet meshes, and still produce high-quality results at a small computational cost. While great detail in the output geometry will be guaranteed automatically because of the embedding method (assuming a detailed embedded mesh), the tet mesh resolution can be increased, say, in order to support desired wave propagation and greater detail in the deformations. Since the deformation frequency of muscles is actually quite low, it is possible to achieve optimal muscle deformation with low resolution tet meshes in many cases.

surfaceRefinement

Tets near the surface will be refined according to this value. Specifically, this value gives the number of times subdivision is performed on the surface tets. A value of 0.0 means no refinement (constant surface resolution everywhere on the mesh). A value of 1.0 is default and means that the surface will be 2x refined relative to tetSize, a value of 2.0 will make the surface be 4x refined, and so on (modulated by the painted weights as described below). The parameter must be greater or equal to 0.0, and typically ranges between 0.0 and 10.0, for a 1024x finer surface detail than the interior. The precise formula is:

surfaceTetSize = tetSize / 2^actualRefinement, where
actualRefinement = ceil(paintedWeight * surfaceRefinement),
and ceil(x) is the greatest integer smaller or equal to x.

Note: The painted weights default to 0.0. So, in order to use surface refinement, you have to paint the weights.

refinementPropagation

Controls how much the surface refinement propagates into the mesh interior. Must be on the interval between 0.0 and 1.0. A value of 0.0 (default) causes no propagation. A value of 1.0 makes the interior resolution match the surface. Intermediate values produce intermediate amounts of refinement.

fillInterior

When checked, fills the volume of the tissue with tetrahedra. When unchecked, only creates tets at the outer surface, leaving the interior hollow.

maxResolution

Interrupts the computation if the smallest output tet would divide the object into more than this many tets per side. For example, if maxResolution=100, then the tet meshing will abort if the tets will be smaller than 1% of the width of the object. This does not affect the result (assuming the computation was not interrupted).

weights

Gives spatial control over surface refinement. The surfaceRefinement attribute value is multiplied by the weight at each surface vertex, to determine the amount of refinement at that surface vertex. By default, the weights are 0.0, so if you want to use surfaceRefinement, you need to paint them (e.g., to a constant 1.0, or non-uniformly to generate meshes that are more refined in some surface locations than others).