Houdini 20.5 Nodes Geometry nodes

Muscle Paint geometry node

A stroke-based paint tool for modifying muscle attributes.

On this page
Since 19.0

This node creates painted mask regions for various muscle constraint attributes. It’s a specialized version of the Attribute Paint SOP for painting muscle attributes.

The Muscle Paint node requires specific placement in your node network to function properly. You must position it after both the Muscle Properties SOP and Muscle Constraint Properties SOP. These two nodes placed before helps initialize attributes with proper values that Muscle Paint will later modify. If you place the Muscle Paint node incorrectly, attributes will be initialized to zero leading to unexpected behavior downstream and require additional manual work to set proper values.

When working with the Muscle Paint node, you may want to delay painting until most of the other parameters in your system are refined. You should view Muscle Paint as a way to help refine regions once the bulk of the settings have been set and tested with a simulation instead of your primary method for setting muscle properties.

Use visibility for precise control

You can have more precise control over your painting by using a Muscle Properties SOP before your Muscle Paint SOP. Configure the node to handle non-selected primitives and utilize Group selection with muscle ID. Once configured, turn on the Connected Only parameter in your Muscle Paint SOP to ensure paint affects only the intended areas.

Recaching system

The recaching system becomes useful when:

  • Making upstream changes that affect point count. ex. Modifying Muscle Solidify settings After model shape changes to muscle surface geometry.

The recaching system may encounter failures in several scenarios. These include working between different Houdini versions, and changing the position the muscles are painted in, such as between exploded and non-exploded views. Understanding these limitations helps you plan your workflow accordingly. You may find it easier to paint with an exploded view node placed before your paint. If you do, don’t bypass it when you’re done painting or your recaching will not work. Instead, place an Extract T-Pose SOP after your Muscle Paint to restore the point positions afterwards.

When recaching fails, you can preserve your work through several methods. Consider using stash nodes or file caches to save current states. You may need to implement setups for attribute transfer, use ray-based transfers for resolution mismatches, or combine transform pieces and centroid extraction for accurate mapping.

Parameters

Group

Specifies the geometry group to paint on.

Display Group

Visualizes the unpaintable regions of the muscles in the viewport as red muscle regions.

Attribute

Selects which muscle attribute values to paint.

Muscle End Mask

Paints values for the Muscle End constraint.

Muscle to Bone Mask

Paints values for the Muscle to Bone constraint.

Tendon Mask

Paints values for the Tendon Mask Radius constraint.

Muscle Glue

Paints muscle glue constraint properties. You can use this parameter (muscletomuscleglue attribute) to create a glue constraint between neighboring muscles that is more rigid than the regular Muscle to Muscle constraint. While the regular Muscle to Muscle constraint behaves more like a spring, the Muscle Glue constraint has a much higher stiffness connection. If you want a selection of neighboring muscles to never be able to separate, then use the Muscle Glue constraint to attach those muscles to each other.

Muscle to Muscle Slide Rate

Paints the values for the Muscle to Muscle Slide Rate constraint.

Muscle to Bone Slide Rate

Paints the values for the Muscle to Bone Slide Rate constraint.

Reset All Changes

Removes any muscle attributes values you painted with the current node.

Brush

See the Attrib Paint SOP node’s documentation.

Stroke

See the Attrib Paint SOP node’s documentation.

Symmetry

See the Attrib Paint SOP node’s documentation.

Recache

See the Attrib Paint SOP node’s documentation.

Inputs

Input 1

Solid muscle geometry.

Outputs

Output

Attribute value masks.

See also

Geometry nodes