
Carbon Binding¶
Description¶
A Binding is a collection of attachments between an Object A and an Object B where:
- Object A can be a Carbon Collider, Carbon Morph, Carbon Cloth or Carbon Tetra node.
- Object B can be a Carbon Cloth or Carbon Tetra node.
Each attachment is a collection of constraints called Bonds between points of Object B and positions in Object A.
Object B is required to complete the definition of each attachment with Object A. A point selection group is also mandatory to define the points of Object B that are constrained by a Bond to the Object A.
The Radius parameter controls the behavior of all the Bonds of a Binding:
- If the radius is 0, the Binding is a hard Binding constraining Object A’s points to match their attachment positions.
- If the radius is non-zero, the Binding is a soft Binding constraining Object A’s points to their attachment positions with spring forces, within a sphere of radius Radius centered on their attachment positions.
The Activation parameter can be used to enable, disable, and reset the Binding in the middle of the simulation.
A Carbon Binding node can contain multiple individual Carbon Binding relationships.
Attach this node after the merge node that Object A and Object B are connected to, then use the drop down menus to select the groups from the list.

A soft Binding.
Inputs¶
Input #1: objects
All objects referenced by this relationship must also be connected to this input through a Houdini Merge node for the Carbon Binding node to operate within the Carbon Simulation it is connected to.
Parameters¶
Activation activation
Enable this relationship. Use 0 to disable, any other value to enable or re-enable. Changing this value during the simulation to another non-zero value will force the re-activation of this constraint causing it to reset the binding attachment positions and reflecting any changes of selection in the specified Houdini point Group.
Properties
Animated propertiesAnimated
Update the following property values for this constraint at every frame.
Note
It’s good practice to leave this toggled off
when not using
animated parameters because it impacts performance.
Base Parameters
Radius radiusBase
The radius of the sphere constraining the motion of an Object B point relative to its attachment position.
If the radius value is 0 then the binding is hard and the Stiffness and Viscosity parameters are ignored.
Painted Attribute Range
Radius radiusRange
The multiplier of the painted point attribute values that add up to the base parameter.
Stiffness stiffnessRange
The multiplier of the painted point attribute values that add up to the base parameter.
Viscosity viscosityRange
The multiplier of the painted point attribute values that add up to the base parameter.
Painted Attribute Name
Radius radiusName
The Object B’s geometry point attribute name used as this parameter’s painted values.
Note
Must be lower case, e.g. bindingRadius.
Stiffness stiffnessName
The Object B’s geometry point attribute name used as this parameter’s painted values.
Note
Must be lower case, e.g. bindingStiffness.
Viscosity viscosityName
The Object B’s geometry point attribute name used as this parameter’s painted values.
Note
Must be lower case, e.g. bindingViscosity.
Binding Pairs
Binding Count count
The number of binding pairs generated from this node.
Collider/Morph/Cloth/Tetra objectA#
Carbon Collider, Carbon Morph, Carbon Cloth or Carbon Tetra object name to use with this constraint.
Cloth/Tetra objectB#
The Carbon Cloth or Carbon Tetra object name to use with this constraint.
Reference
Animated referenceAnimated#
Update the following property values for this constraint at every frame.
Note
It’s good practice to leave this toggled off
when not using
animated parameters because it impacts performance.
Parent Primitive Group groupA#
The primitives from Object A that are constraining Object B’s points in Group B.
Note
This parameter is optional except for self-binding applications, i.e. when Object A equals Object B.
Child Point Group groupB#
The points from Object B’s Cloth/Tetra geometry that are attached to Object A’s Collider/Morph/Cloth/Tetra object.
Note
When using self-binding, please make sure to avoid choosing points that belong to any face in Group A.
Parent Pose parentMesh#
Object A’s pose in the binding reference space.
Note
This parameter is optional.
Child Pose childMesh#
Object B’s pose in the binding reference space.
Note
This parameter is optional.
Use Surface Offset useOffset#
Tick this to enable the surface offset override.
Surface Offset surfaceOffset#
The value of the surface offset. Can be smaller than 0.
Properties Override propertiesOverride#
Allows to specify individual properties for this constraint pair, therefore ignoring the local properties set above for the node.
Properties
Animated propertiesAnimated#
Update the following property values for this constraint at every frame.
Note
It’s good practice to leave this toggled off
when not using
animated parameters because it impacts performance.
Base Parameters
Radius radiusBase#
The radius of the sphere constraining the motion of an Object B# point relative to its attachment position.
If the radius value is 0 then the binding is hard and the Stiffness# and Viscosity# parameters are ignored.
Painted Attribute Range
Radius radiusRange#
The multiplier of the painted point attribute values that add up to the base parameter.
Stiffness stiffnessRange#
The multiplier of the painted point attribute values that add up to the base parameter.
Viscosity viscosityRange#
The multiplier of the painted point attribute values that add up to the base parameter.
Painted Attribute Name
Radius radiusName#
The Object B#’s geometry point attribute name used as this parameter’s painted values.
Note
Must be lower case, e.g. bindingRadius.
Stiffness stiffnessName#
The Object B#’s geometry point attribute name used as this parameter’s painted values.
Note
Must be lower case, e.g. bindingStiffness.
Viscosity viscosityName#
The Object B#’s geometry point attribute name used as this parameter’s painted values.
Note
Must be lower case, e.g. bindingViscosity.
Parameter File¶
Use Parameter File fileOverride
Replace parameter values by expressions fetching the values from the loaded parameter file. Parameter values from the exclusion filter are left unchanged.
File Name fileName
Json file path to save this node’s current parameters to, and load the parameter file from.
Save save
Save this node’s current parameters to the specified file.
Load load
Load or reload the specified parameter file. As the overriding expressions always fetch values from the last loaded parameter file, and not from the file itself, use this button to refresh the loaded current parameter file with the values on disk.
Reload Every Time The Node Is Loaded reload
Automatically reload the parameter file when the scene is loaded. If the specified file cannot be found then the overriding expressions will use the values of the last loaded parameter file instead.
Exclusion Filter exclusionFilter
The exclusion filter allows to select which of the parameters are not to be replaced by the overriding expressions, therefore keeping their original values while all other parameters will evaluate with the values set from the last loaded parameter file.
Guide Geometry¶
Show Bonds showguide
Display the bonds as colored lines between the Collider/Morph/Cloth/Tetra and Cloth/Tetra objects.
Bonds colorBondsr
colorBondsg
colorBondsb
Color used to draw the bonds when Show Bonds is toggled on
.
Examples¶
$SIMCARBONTOOL_PATH/documentation/_downloads/binding.hip
$SIMCARBONTOOL_PATH/documentation/_downloads/binding_sop.hip