Houdini 19.5 Nodes Object nodes

Franken Muscle object node

Creates a custom muscle by combining any number of geometry objects, muscle rigs, and muscle pins.

This node type is deprecated. It is scheduled to be deleted in an upcoming revision of Houdini.

(Since version 19.0.)

Since 16.0


The object-level Muscle tools are now deprecated pending the release of the new SOP-based Muscles & Tissue system.

The Franken Muscle object, like a common Muscle object, is made of two primary components: the muscle geometry and the muscle rig.

The muscle geometry can be derived from any geometry operator in Houdini. Optionally, multiple geometry sources can be incorporated into this single muscle. Any and all geometry surfaces included as sources will be first converted to a volume, merged, re-surfaced, and made solid to form the franken muscle geometry component.

The rig component is made up of a merged collection of external Muscle Rigs and Muscle Pins.

While the geometry components of a franken muscle are internalized and modified somewhat, the rig components remain as distinct entities. Interacting with handles, or tension parameters, or Jiggle qualities, etc. is all accomplished via the sourced muscle rigs and muscle pins directly. The franken muscle only serves to bring all the components together to produce a valid muscle within the muscle system.

Existing muscles can be used both as sources for geometry and as rigs. For example, you can merge together multiple existing muscles to create a single new muscle with this tool. A more typical scenario, however, is where you will provide a custom model and that you will want to control with muscle rigs and muscle pins.


The geometry used to build your franken muscle should be derived from a non-animated source. The geometry and any of its attributes must be static and unchanging over time. If a time-dependent model is referenced, this will cause the franken muscle to rebuild itself every time it is cooked.

For viewport tool information see: Franken Muscle.


Muscle ID:

Muscle ID

A tag used to identify this muscle asset within the muscle system. A muscle ID can be any string or numeral. The muscle ID is used by other muscle assets to group muscles that share a common muscle ID, or to keep muscle influence separate where muscle ID’s are unique. For example, the Muscle Deform SOP will treat muscles with a shared, common muscle ID as a single compound displacement tool. Also, Tissue Solver SOP will attach region constraints to muscles if the constraints and the muscles share common ID’s.


These parameters affect the construction of the geometry component of the franken muscle. A franken muscle can be used in either FEM dynamics workflows, where a solid tetrahedral mesh is required, or in non-FEM deformer workflows where only surface geometry is required. Therefore, a franken muscle can produce both a tetrahedral solid and surface geometry.

Bypass Solid Embedding

This parameter bypasses the conversion of the muscle geometry into a solid tetrahedral mesh. In non-FEM workflows, where the Muscle Displace tool is used, only the muscle surface geometry is required. By enabling this toggle, the extra processing required to create a solid will be avoided. If this franken muscle is used in an FEM workflow, the tissue solver will disregard the state of this toggle and fetch the tetrahedral solid regardless.

Cap Open Meshes

If polygonal surfaces are are not water-tight, this toggle can be used to ensure a Poly Cap step is performed prior to solidifying.

Remove Stray Pieces

In the conversion process of your surface geometry into a solid, situations may arise where some finer details of your geometry are not large enough to be fully resolved by the solidification parameters below. This can lead to the creation disconnected fragments of franken muscle geometry. If this occurs, you have the option to reduce the Initial Voxel Size or Iso Divisions to attempt to capture finer details in your source geometry. This, of course, may come with a greater expense in processing time and memory. Or, by use of this toggle, fragments with smaller surface area will be discarded.

Reverse Normals

In order for the Muscle Displace tool to function properly, surface normals on the sourced geometry must be oriented correctly (ie, outwards relative to the muscle center). Use this toggle in situations where the surface normals of your geometry sources are pointing inwards towards the muscle centers.

Tet Mesh

These parameters set the resolution and scaling options for the Solid Embedding step within this muscle asset. For detailed help on these individual parameters, see the Solid Conform SOP.

Geometry Sources

These parameters specify the Houdini objects and SOPs that provide the franken muscle with its surface geometry.

Stashed Source Geometry

Use Stashed Geometry

Use the local internal copy of the source surface geometry if it was previously stashed (stored).

Stash Geometry

Activate this button to store a local internal copy of the referenced source geometry. Once a stashed copy has been created, the franken muscle can be made independent of the original source geometry.

Clear Stashed Geometry

The internal local copy of the surface geometry can be cleared using this button. Once cleared, the franken muscle asset will then resort to using the path specifications below to find its sources.

Live Source Geometry

The following parameters are promoted from the Object Merge SOP contained within the franken muscle. For additional detailed help, please see Object Merge.

Number of Objects

The number of source surface operators to include in this franken muscle.

Enable Merge

The parameter path directly below this toggle can be included or disregarded using this switch.

Geometry Path

Specify the path to a surface operator (SOP) to supply the franken muscle with a geometry source.


The optional primitive group to extract from the Geometry Path specified above.

Expand Group

Adds neighboring primitives to the selected Group.

Rig Sources

These parameters specify the Muscle Rigs and Muscle Pins to include in this franken muscle. Control of the rig behavior remains with the referenced muscle rigs.

Display All Rig Sources

Convenience toggle that will turn on or turn off the display of all the referenced rig components.

Add or Remove Rigs

Use this button to enter the viewport into a selection state where you can include or exclude muscle rigs to form the reference list below.

Number of Rigs

The number of rig paths you would like to include.

Muscle Rig Path

The path to the Muscle Rig or Muscle Pin that you would like to include as a controller rig for this franken muscle. The path may be absolute or relative, but must point to the object level muscle asset. TIP

A Muscle object can also be referenced as a valid source for a Muscle Rig.


Whether a Franken Muscle is constructed as a solid or as a surface, the geometry undergoes a Capture and Deform series of steps to take the constructed muscle from it’s static pose into the animated or live position as dictated by the referenced muscle rigs. The capture pose is subsequently an important aspect of a franken muscle’s configuration as it establishes the relationship between the geometry and rig components. The capture pose is comprised of the geometry in it’s initial static referenced position, and each of the rig components in their respective capture pose.

Edit Capture Pose (All Rig Sources)

When active, the franken muscle will be displayed in its Capture Pose. All component geometry and muscle rigs will be displayed in their respective capture pose or setup positions. When franken muscle are displayed in the Capture Pose, they can easily be distinguished from their “live” state by their appearance. The muscle geometry will be displayed as its merged constituent parts, the coloring will turn blue, and the rig handles will change from the being “round” to being “boxy”.

Handles can be manipulated in the viewport when this mode is active, and thus the Capture Pose can be modified.

Biharmonic Capture Mesh

Capture weighting applied to the geometry is computed via biharmonic capturing. For additional help on biharmonic weighting see Bone Capture Biharmonic and Bone Capture Lines.

Display Guide

Enabling this toggle will display a guide geometry that represents the resolution and shape of the tetrahedralized capture mesh.

Capture Triangle Size

The construction of the capture mesh is reliant on this size parameter. This size parameter is expressed as a relative scale proportional to the overall enclosing volume surrounding the franken muscle geometry. Use smaller values to preserve more capture weight detail when muscle rigs are situated closer to each other. Coarse capture triangle sizing can produce adequate results in most cases at a reduced computational expense.

Capture Smoothing

Specifies the smoothing strength applied to the capture weight data prior to deforming the muscle geometry.

Capture Display Color

The color applied to this franken muscle when displaying the capture pose.


Every muscle asset contains a local dynamics solver for the purpose of previewing the simulation effects of the physical properties. For detailed help on the simulation parameters, see the Tissue Solver SOP.

Use Physical Simulation

Enables the “preview” dynamics simulation of this muscle. Activating this toggle will simulate the muscle using its physical properties. The muscle build type is automatically set to Built-in Tet Mesh when this toggle is activated. Dynamics simulation requires that the muscle be constructed as a tetrahedral mesh.


This toggle will not affect how this muscle might be incorporated into an external Tissue Solver. However, for more efficient run time performance, it is advised to leave this toggle “off” to avoid simulating a muscle independently as a preview at the same time as simulating the muscle as part of the larger tissue solve.



Use this toggle to control the display visibility of this muscle asset in the viewport and/or renderings.


The color ramp applied to the franken muscle geometry from end to end (ie mapped from muscle pin and end anchor positions along the lengths of the individual muscle rigs).

Object nodes

  • Agent Cam

    Create and attach camera to a crowd agent.

  • Alembic Archive

    Loads the objects from an Alembic scene archive (.abc) file into the object level.

  • Alembic Xform

    Loads only the transform from an object or objects in an Alembic scene archive (.abc).

  • Ambient Light

    Adds a constant level of light to every surface in the scene (or in the light’s mask), coming from no specific direction.

  • Auto Bone Chain Interface

    The Auto Bone Chain Interface is created by the IK from Objects and IK from Bones tools on the Rigging shelf.

  • Blend

    Switches or blends between the transformations of several input objects.

  • Blend Sticky

    Computes its transform by blending between the transforms of two or more sticky objects, allowing you to blend a position across a polygonal surface.

  • Bone

    The Bone Object is used to create hierarchies of limb-like objects that form part of a hierarchy …

  • Camera

    You can view your scene through a camera, and render from its point of view.

  • Common object parameters

  • Dop Network

    The DOP Network Object contains a dynamic simulation.

  • Environment Light

    Environment Lights provide background illumination from outside the scene.

  • Extract Transform

    The Extract Transform Object gets its transform by comparing the points of two pieces of geometry.

  • Fetch

    The Fetch Object gets its transform by copying the transform of another object.

  • Formation Crowd Example

    Crowd example showing a changing formation setup

  • Fuzzy Logic Obstacle Avoidance Example

  • Fuzzy Logic State Transition Example

  • Geometry

    Container for the geometry operators (SOPs) that define a modeled object.

  • Groom Merge

    Merges groom data from multiple objects into one.

  • Guide Deform

    Moves the curves of a groom with animated skin.

  • Guide Groom

    Generates guide curves from a skin geometry and does further processing on these using an editable SOP network contained within the node.

  • Guide Simulate

    Runs a physics simulation on the input guides.

  • Hair Card Generate

    Converts dense hair curves to a polygon card, keeping the style and shape of the groom.

  • Hair Card Texture Example

    An example of how to create a texture for hair cards.

  • Hair Generate

    Generates hair from a skin geometry and guide curves.

  • Handle

    The Handle Object is an IK tool for manipulating bones.

  • Indirect Light

    Indirect lights produce illumination that has reflected from other objects in the scene.

  • Instance

    Instance Objects can instance other geometry, light, or even subnetworks of objects.

  • LOP Import

    Imports transform data from a USD primitive in a LOP node.

  • LOP Import Camera

    Imports a USD camera primitive from a LOP node.

  • Labs Fire Presets

    Quickly generate and render fire simulations using presets for size varying from torch to small to 1m high and low

  • Light

    Light Objects cast light on other objects in a scene.

  • Light template

    A very limited light object without any built-in render properties. Use this only if you want to build completely custom light with your choice of properties.

  • Microphone

    The Microphone object specifies a listening point for the SpatialAudio CHOP.

  • Mocap Acclaim

    Import Acclaim motion capture.

  • Mocap Biped 1

    A male character with motion captured animations.

  • Mocap Biped 2

    A male character with motion captured animations.

  • Mocap Biped 3

    A male character with motion captured animations.

  • Null

    Serves as a place-holder in the scene, usually for parenting. this object does not render.

  • Object nodes

    Object nodes represent objects in the scene, such as character parts, geometry objects, lights, cameras, and so on.

  • Path

    The Path object creates an oriented curve (path)

  • PathCV

    The PathCV object creates control vertices used by the Path object.

  • Python Script

    The Python Script object is a container for the geometry operators (SOPs) that define a modeled object.

  • Ragdoll Run Example

    Crowd example showing a simple ragdoll setup.

  • Reference Image

    Container for the Compositing operators (COP2) that define a picture.

  • Rivet

    Creates a rivet on an objects surface, usually for parenting.

  • Simple Biped

    A simple and efficient animation rig with full controls.

  • Simple Female

    A simple and efficient female character animation rig with full controls.

  • Simple Male

    A simple and efficient male character animation rig with full controls.

  • Sound

    The Sound object defines a sound emission point for the Spatial Audio chop.

  • Stadium Crowds Example

    Crowd example showing a stadium setup

  • Stereo Camera Rig

    Provides parameters to manipulate the interaxial lens distance as well as the zero parallax setting plane in the scene.

  • Stereo Camera Template

    Serves as a basis for constructing a more functional stereo camera rig as a digital asset.

  • Sticky

    Creates a sticky object based on the UV’s of a surface, usually for parenting.

  • Street Crowd Example

    Crowd example showing a street setup with two agent groups

  • Subnet

    Container for objects.

  • Switcher

    Acts as a camera but switches between the views from other cameras.

  • TOP Network

    The TOP Network operator contains object-level nodes for running tasks.

  • VR Camera

    Camera supporting VR image rendering.

  • Viewport Isolator

    A Python Script HDA providing per viewport isolation controls from selection.

  • glTF