|On this page|
This is a procedural node that allows you to create and edit constraints based on a set of rules and conditions. For example, you can constrain pieces based on groups and then only constrain the pieces that are within a certain bounding region. Once the rules and conditions are set, you can choose the Connection Type to determine how the constraints are set up.
Edit hinge position
drag the hinge.
⌃ Ctrl + click the hinge.
Slide hinge position along the constraint line.
drag along the line.
Switch between edit and transform handle
Display/hide bounding box handles
Cycle between handles
Types of connections
The default connection that’s created is Hinges. These create a hinge-like constraint between pieces, which you can visualize by the white dot on the constraint line.
Drawing Surface Points constraints will create anchor points where you clicked the mouse on the piece to place the constraint.
Center of Mass constraints will calculate the center of mass for the constrained pieces and create constraints between their centroids.
Input geometry to create constraints for.
Constraint geometry to be merged with. Used with the match name pairs option.
Proxy geometry. The constraints will be built using this geometry when available.
Input geometry defining the volume within which to create constraints.
Creates constraints connecting closest points from nearby pieces.
Creates 0 length 2 point prim constraints placed at the intersection of the 2 surfaces.
Center of Mass
Creates constraints connecting centroids of nearby pieces.
Specify the length of the hinge constraint.
Add the created constraints to a primitive group.
The name of the primitive group to create.
Clear Hinge Edits
Remove all hinge constraint edits.
Create constraints between all pieces.
All to Group
Create constraints between pieces in Group 1 and all other pieces.
Group to Group
Create constraints between pieces in Group 1 and pieces in Group 2.
Points per Area
When connection type is Center of Mass, points are first seeded on the surface of all the objects. There must be enough points for close points to occur to detect close surfaces. This should be scaled down by the square of the geometry size. For example, if your geometry is 10× bigger, you should have 1/100 of the points per area.
String or Int primitive attribute name indicating piece boundaries - no constraints will be created between pieces with the same attribute value.
Specify the maximum allowed distance when searching for nearby points.
Max Search Points
Specifies an upper limit on the number of nearby points that can be inspected. Lower numbers will improve performance but run the risk that only points from the same piece will be detected rather than points on nearby pieces, causing connections to be missed.
Specifies an upper limit on the number of pieces that each seed point can be connected to.
Constraints Per Piece
Specify the maximum number of constraints between 2 pieces.
Use a cluster float attribute to connect pieces with matching values within a given tolerance.
Specify the name of the float cluster attribute.
Specify the attrib value tolerance.
Match by Existing Constraints
Constraints will only be created between pieces with name pairs defined by the second inputs constraint geometry. This is mostly useful for converting center of mass constraints to other constraint types.
The group of constraint prims to consider when matching by name pairs.
By default the original reference name pair constraint primitives will be replaced by the new constraints. Turning this on will ensure they aren’t deleted.
Keep in Bounding Regions
Generate constraints only within the bounding volume.
Shape of bounding volume.
Constraints are generated only outside the bounding volume.
Size of the bounding box.
Center of the bounding box.
Rotation of the bounding box.