Houdini 20.0 Nodes Geometry nodes

Tissue Solidify geometry node

Converts surface geometry to a solid (tetrahedrons) and prepares the output geometry for solving with a tissue solver.

On this page
Since 19.0

This node constructs the Tissue pass (Tissue Layers and Core Layers) from an input polygonal surface.

The first input (Input 1) on this node provides the surface geometry from which to generate the Tissue pass’s outer polygonal surface (Tissue Surface Layer) and its inner tetrahedra (Tissue Solid Layer). The surface geometry must be triangulated before tetrahedralization. If the surface isn’t already made of triangles, you can use the Remesh Exterior Surface parameters on this node to triangulate it. For more control over how the surface geometry’s polygons are triangulated, you can use an external Remesh SOP node instead.

The Core Layers are generated at the innermost extent of the Tissue Layers. The surface of the Core (Core Surface Layer) exists at the boundary between the Tissue Solid Layer and the Core’s tetrahedra (Core Solid Layer) at the distance controlled by the Tissue Relative Thickness parameter. To come up with this distance, this node performs an iterative loop of voxelizing, blurring, and resurfacing. The number of loop passes is controlled by the Solver tab ▸ Solve Iterations section > Substeps parameter on the Tissue Solver Vellum SOP node.

If procedurally generating the Core Layers isn’t sufficient, then you can also supply a custom Core surface geometry using the third input (Input 3) on this node. If you supply a custom Core surface, then it will override this node’s Tissue Relative Thickness parameter.

Tip

The second output (Output 2) on this node produces a procedurally generated Core Surface Layer. You can stash this output and use it as a starting point to model your own custom Core surface. Once you have remodeled the procedurally generated Core surface geometry, you can then disconnect it from the second output and reconnect it to the third input (Input 3) of this node.

You can also supply custom poly lines for the Core’s falloff on the fourth input (Input 4) of this node. These lines determine from where the sucking in force emanates to pull the tissue in towards the muscles and bones. The Core Falloff parameters create a weight mask attribute (corefalloff) that represents the distance from the Core Surface Layer to these poly lines, and this attribute is used by the Tissue Solver Vellum SOP node when stiffening the attachment constraints between the Core Layers and the muscles and bones. However, if you do not supply a fourth output, then the character’s bone geometry (supplied by Input 2) is used in place of the poly lines.

Cross section showing the Tissue Layers and Core Layers
Cross section showing the Core falloff

Parameters

Tissue Layer

Surface Offset

Specifies the distance to inset the input tissue surface geometry prior to tetrahedralization. This offset distance is intended to give some allowance for the Skin pass downstream in the Muscle & Tissue network. This parameter is also closely related to the Skin Thickness parameter on the Skin Solidify SOP node.

Tips

  • If you want the value of the Skin Thickness parameter on the Skin Solidify SOP node to be the same as the value of the Surface Offset parameter, then you can create a channel reference by copying the Surface Offset value and pasting it to the Skin Thickness field as a relative reference ( RMB ▸ Paste Relative Reference).

  • When Surface Offset is larger than the Skin Thickness, you can achieve more surface detail and muscle definition as this will cause the the skin to seek out all the crevices.

Tissue Relative Thickness

Controls how deep to build the Tissue Solid Layer (tetrahedral layer) relative to the local depth of the space enclosed by the skin surface. For example, a value of 0.15 can be thought of as 15% of the distance to get from the skin surface (which becomes the Tissue Surface Layer (polygonal layer)) to the Core Surface Layer.

No Scaling

Construct the tissue with a uniform thickness using only the Tissue Relative Thickness value.

Scale by Attribute

Construct the tissue with a non-uniform thickness using the Thickness Scale Attribute as a multiplier.

To define where the variations in thickness occur on the tissue, use a Attribute Paint SOP node to paint the attribute’s values on the Tissue Surface Layer.

This parameter option is best for tissue that has a variable resolution.

Scale by Value

Construct the tissue with a uniform thickness using the Tissue Relative Thickness and Scale values.

Scale by Both

Construct the tissue with a non-uniform thickness using the Thickness Scale Attribute and Scale values, where Scale uniformly multiplies Tissue Relative Thickness and the Thickness Scale Attribute only multiplies Tissue Relative Thickness in the areas of the tissue where it is painted.

To define where the attribute-driven variations in thickness occur on the tissue, use a Attribute Paint SOP node to paint the attribute’s values on the Tissue Surface Layer.

Thickness Scale Attribute

Specifies the name of the attribute with which to increase or decrease the thickness of the Tissue pass based its painted values on the Tissue Surface Layer. This attribute should be scaled into a 0.0 to 1.0 range as it is used as a multiplier for the Tissue Relative Thickness parameter. Only available when the Scale by Attribute or Scale by Both option is selected for the Tissue Relative Thickness parameter.

Scale

Specifies a multiplier value (0.0 to 1.0 range) for Tissue Relative Thickness. You can use Scale alone or in conjunction with the Thickness Scale Attribute. Only available when the Scale by Value or Scale by Both option is selected for the Tissue Relative Thickness parameter.

Tissue Max Tet Size

Sets the maximum allowed size for the tissue tetrahedrons. Larger tetrahedra are faster to simulate, but they produce lower quality results.

Remesh Exterior Surface

See the Remesh SOP node’s documentation.

Core Layer

Core Max Tet Size

Sets the maximum allowed size for the core tetrahedrons. Larger tetrahedra are faster to simulate, but they produce lower quality results.

Substep Iterations

Determines the number of iterations that are used to simulate the core.

Blurring Iterations

Determines the number of smoothing passes for the Core Surface Layer. You can have multiple Blurring Iterations for each Substep Iteration.

Blur Step Size

Specifies the amount of blur to apply for each Blurring Iteration.

Voxel Division Size

Determines the sample size for the core.

Core Falloff Distance

Determines the maximum distance for the core. This parameter creates a weight mask attribute (corefalloff) that represents the distance from the Core Surface Layer to the geometry provided on the node’s fourth input (Input 4). The corefalloff attribute is also used by the Tissue Solver Vellum SOP when stiffening the attachment constraint between the Core Solid Layer and the muscles and bones.

Core Falloff Rate

Determines the transition or decay rate within the Core Falloff Distance.

Remesh Core Surface

See the Remesh SOP node’s documentation.

Visualization Guides

Guide Display

Determines which tissue features are shown in the viewport state.

Off

Turns off all tissue visualization guides.

Core Surface

Visualizes the Core Surface Layer.

Outliers

Visualizes any bone, muscle, or core that may be poking through the Tissue Surface Layer.

Inversions

Visualizes any inverted tissue tetrahedra.

Low Quality Primitives

Visualizes any low quality polygons on the Tissue Surface Layer.

Core Falloff

Visualizes the core’s falloff as a point cloud heat map.

Tissue Interior Surface

Visualizes the interior surface (boundary polygons) of the Tissue Solid Layer that defines the inner boundary of the tissue’s tetrahedra. This is useful when adjusting the thickness of the tissue.

Color

Sets the RGB display color for the visualization of the Core Surface Layer in the viewport state. This parameter is only available when Guide Display is set to Core Surface.

Outlier Scale

Sets the scale for the visualization of the outlier geometry in the viewport state. This parameter is only available when Guide Display is set to Outliers.

Muscle and Bone Outside Tissue

Sets the color for the visualization of the muscle and bone geometry outlier in the viewport state. Muscle and bone geometry are considered outliers when they penetrate the tissue and poke through its exterior Tissue Surface Layer. This parameter is only available when Guide Display is set to Outliers.

Core Outside Tissue

Sets the color for the visualization of the Core Surface Layer outlier polygons in the viewport state. Core geometry is considered an outlier when it penetrates the tissue and pokes through its exterior Tissue Surface Layer. This parameter is only available when Guide Display is set to Outliers.

Quality Threshold

Determines how bad the Core Surface Layer and Tissue Surface Layer polygons have to be to be considered low quality. The higher the value, the higher the quality threshold is that the polygons have to meet to be considered not low quality. This parameter is only available when Guide Display is set to Low Quality Primitives.

Core Primitive Color

Specifies the RGB color for the visualization of low quality Core Surface Layer polygons in the viewport state. This parameter is only available when Guide Display is set to Low Quality Primitives.

Tissue Primitive Color

Specifies the RGB color for the visualization of low quality Tissue Surface Layer polygons in the viewport state. This parameter is only available when Guide Display is set to Low Quality Primitives.

Voxel Size

Sets the size of the voxels used for the point cloud visualization of the Core Layer in the viewport state. This parameter is only available when Guide Display is set to Core Falloff.

Particle Scale

Sets the scale value for the point cloud visualization of the Core Layer in the viewport state. This parameter is only available when Guide Display is set to Core Falloff.

Exterior Surface

When on, visualizes the Tissue Surface Layer in the viewport state.

Exterior Surface Alpha

Sets the alpha value (amount of transparency) for the visualization of the Tissue Surface Layer in the viewport state.

Inputs

Input 1

The surface polygons from which to generate the Tissue pass (Tissue Layers and Core Layers).

Input 2

Bone and muscle geometry.

Input 3

(Optional) Custom polygonal geometry for the Core’s surface. If supplied, then this input overrides the Tissue Relative Thickness parameter. If not supplied, then the Core is entirely procedurally generated.

Input 4

(Optional) Custom poly lines for the Core’s falloff. These lines determine from where the sucking in force emanates to pull the tissue in towards the muscles and bones. If not supplied, the bone geometry (supplied by Input 2) is used instead.

Outputs

Output 1

Tissue pass, which includes the Tissue Surface Layer (polygons), Tissue Solid Layer (tetrahedra), Core Surface Layer (polygons), and Core Solid Layer (tetrahedra).

Output 2

A procedurally generated Core surface. You can use this as a starting point for your own custom Core surface. Once you have remodeled this Core surface to your liking, you can then disconnect it from the Output 2 and connect it to the Input 3.

Geometry nodes