_images/numerion_carbon_relationship.png

Carbon Binding

Type

_images/carbon_relationship.png

Relationship node (SOP and DOP).

Description

A Binding is a collection of attachments between an Object A and an Object B where:

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:

  1. If the radius is 0, the Binding is a hard Binding constraining Object A’s points to match their attachment positions.
  2. 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.

_images/animation_carbon_binding.gif

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.

Stiffness stiffnessBase

The stiffness of the soft binding.

Viscosity viscosityBase

The viscosity of the soft binding.

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.

Stiffness stiffnessName

The Object B’s geometry point attribute name used as this parameter’s painted values.

Viscosity viscosityName

The Object B’s geometry point attribute name used as this parameter’s painted values.


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.

Stiffness stiffnessBase#

The stiffness of the soft binding.

Viscosity viscosityBase#

The viscosity of the soft binding.

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.

Stiffness stiffnessName#

The Object B#’s geometry point attribute name used as this parameter’s painted values.

Viscosity viscosityName#

The Object B#’s geometry point attribute name used as this parameter’s painted values.

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.