<aside>
</aside>
Tearing and Denting
<aside>
An RBD Object is not only geometry. It is composed of three connected elements:
RBD Object
├── Packed Geometry
├── Constraints
└── Proxy Geometry
For Bullet to understand that these elements belong together, they need a common identifier:
s@name
The @name attribute is the link between:
Without this relationship, Bullet does not know which constraints affect which pieces.
</aside>
Soft contraints not breaking
No Tearing or Denting
<aside>
Both effects start from the same idea: A primary constraint breaks and creates a secondary constraint that controls the relationship between the pieces. The difference is what happens to that secondary constraint.
Denting happens when the secondary constraint survives the simulation. The pieces are allowed to separate and deform slightly because the new SOFT constraint controls their distance, but the constraint never reaches its breaking threshold. During the post-process, SOP RBD Deform Pieces uses the constraint information to visually deform the geometry, creating the dented appearance while keeping the pieces connected.
Tearing happens when the secondary constraint also breaks. The initial GLUE constraint breaks → the solver creates a SOFT constraint → the SOFT constraint stretches beyond its limit → the SOFT constraint breaks. Once the secondary constraint is gone, the geometry is allowed to fully separate.
</aside>
Glue Constraints breaking and Soft Constraints created and breaking
Glue Constraints breaking and Soft Constraints created and breaking
Bullet needs to know:
"When this constraint breaks, create another constraint of this type."
This is controlled by primitive attributes on the constraint geometry:
s@next_constraint_name = "SOFT";
s@next_constraint_type = "ALL";
When the GLUE constraint breaks, Bullet automatically creates the SOFT constraint using these attributes.
This transition is the foundation of the denting workflow.
When using:
SOP Material Fracture
> Constraints
Houdini is already preparing this behavior for you.
The node creates the initial GLUE constraints and also assigns the necessary next_constraint attributes that define what happens after the GLUE constraint breaks.
So instead of manually creating the transition:
GLUE breaks
↓
SOFT is created
SOP Material Fracture has already built that logic into the constraint network.
<aside>
</aside>

By default, the new SOFT constraint may survive forever.
To make it tear, we need to define:
"How far can this new constraint stretch before breaking?"
Inside:
SOP Bullet Solver
> Constraints
Modify the constraint:
Constraint Name:
SOFT
Then adjust:
Distance Threshold = 0.1
Now the workflow becomes:
GLUE breaks
↓
SOFT constraint created
↓
SOFT stretches
↓
Distance Threshold exceeded
↓
SOFT breaks
↓
Pieces separate

After simulation, you may notice gaps where the GLUE constraint broke.
This is because Bullet simulates the relationship between pieces, not the final visual deformation.
To maintain the visual continuity:
SOP RBD Deform Pieces
The deform node uses the constraint history to deform the original geometry and preserve the contact area.
This creates the final denting/tearing appearance.
<aside>
</aside>


Learn more about Denting and Tearing: https://www.youtube.com/watch?v=x-N5I4XS7Q4 https://www.youtube.com/watch?v=R4YVz0FcCOw