Soft Body v1.2.1

Summary

The Soft Body operator provides a constraint-based soft body dynamics simulation system. It uses Extended Position Based Dynamics (XPBD) to simulate deformable objects with realistic behavior including stretching, bending, and collision response. The solver supports pressure constraints for volume preservation, various collision types, and external forces.

This operator is ideal for simulating cloth, soft materials, and deformable objects in real-time or offline scenarios. It offers extensive control over simulation parameters, collision detection, forces, and visualization options for constraint debugging and analysis.

Parameters

Page: Soft Body

Target Geometry Update POP Targetupdatepop POP operator providing target geometry updates for the simulation.
Time Scale Timescale Global time scale multiplier for the simulation speed.
Time Step Timestep Read-only display of effective timestep, equal to 1/FPS of TouchDesigner.
Substeps Substeps Number of simulation substeps per frame for improved stability.
Iterations Iterations Number of constraint solver iterations.
Initialize Initializepulse Pulse to initialize or reset the simulation.
Start Startpulse Pulse to start the simulation from its initial state.
Play Play Toggle to play or pause the simulation.
Step Steppulse Pulse to advance the simulation by one frame when paused.

Page: Collisions

Enable Ground Collision Enablegroundcollision Enable collision with an infinite ground plane.
Ground Position Groundposition Position of the ground plane in world space.
Ground Position Groundpositionx
Ground Position Groundpositiony
Ground Position Groundpositionz
Ground Collision Margin Groundmargin Collision margin distance from the ground plane surface.
Display Ground Displayground Visualize the ground plane in the viewport.
Enable Bounding Box Collision Enablebboxcollision Enable collision with a bounding box volume.
Bounding Box Bbox A reference to a POP defining the bounding box collision bounds.
Bounding Box Collision Margin Bboxmargin Collision margin distance from the bounding box surface.
Display Bounding Box Displaybbox Visualize the bounding box in the viewport.
Collision Type Collisiontype Selects the collision geometry type for constraining instance movement.
None none
POP (Windows Only) pop
Box box
Plane plane
Sphere sphere
Torus torus
3D SDF 3dsdf
T3D t3d
2D SDF 2dsdf
T2D t2d
Collision Damping Collisiondamping Amount of velocity dampening applied when instances collide with the collision geometry.
Solid Solid Treats the collision geometry as a solid volume, preventing instances from passing through.
Project Project Projects instances onto the surface of the collision geometry.
Collision POP Collisionpop Reference to a POP containing the collision geometry when using POP collision type.
Collision Offset Collisionoffset Offset distance from the collision surface to prevent z-fighting artifacts.
Size Size Size of the box collision geometry.
Size Sizex
Size Sizey
Size Sizez
Radius Radius Radius of the collision geometry per axis.
Radius Radiusx
Radius Radiusy
Radius Radiusz
Corner Radius Cornerradius Radius of rounded corners on the box collision geometry.
Collison TOP Collisontop Reference to a TOP texture used as the collision field for SDF and texture collision types.
Use Custom Bounds Usecustombounds Enables custom bounding box for the collision texture instead of using the texture's native bounds.
Lower Bounds Lowerbounds Lower bounds of the collision volume in world space.
Lower Bounds Lowerboundsx
Lower Bounds Lowerboundsy
Lower Bounds Lowerboundsz
Upper Bounds Upperbounds Upper bounds of the collision volume in world space.
Upper Bounds Upperboundsx
Upper Bounds Upperboundsy
Upper Bounds Upperboundsz
Transform Order Xord Sets the order of scale, rotate, and translate operations for the collision geometry transform.
Scale Rotate Translate srt
Scale Translate Rotate str
Rotate Scale Translate rst
Rotate Translate Scale rts
Translate Scale Rotate tsr
Translate Rotate Scale trs
Rotate Order Rord Sets the order of rotation operations for the collision geometry transform.
Rx Ry Rz xyz
Rx Rz Ry xzy
Ry Rx Rz yxz
Ry Rz Rx yzx
Rz Rx Ry zxy
Rz Ry Rx zyx
Translate T Translation of the collision geometry in world space.
Translate Tx
Translate Ty
Translate Tz
Rotate R Rotation of the collision geometry in degrees.
Rotate Rx
Rotate Ry
Rotate Rz
Scale S Scale of the collision geometry per axis.
Scale Sx
Scale Sy
Scale Sz
Pivot P Pivot point for the collision geometry transform.
Pivot Px
Pivot Py
Pivot Pz
Uniform Scale Scale Uniform scale factor applied to the collision geometry.
Display Geometry Displaygeo Shows the collision geometry in the viewport for visualization.
Display Color Displaycolor Display color for the collision geometry visualization.
Display Color Displaycolorr
Display Color Displaycolorg
Display Color Displaycolorb
Enable Self Collision Enableselfcollision Enable collision detection between different parts of the same soft body as well as between different geometries.
Max Neighbors Distance Maxdistance Maximum distance for neighbor search when using distance-based neighbors.
Distribution Distribution Distribution method for neighbor selection.
Default default
Unique unique
Closest closest
Max Neighbors Maxneighbors Maximum number of neighbors to consider for self-collision per point.

Page: Forces

Gravity Gravity Gravity force vector applied to all points.
Gravity Gravityx
Gravity Gravityy
Gravity Gravityz
Gravity Multiplier Gravitymultiplier Multiplier for the gravity force.
Velocity Damping Velocitydamping Global velocity damping to reduce motion over time. Range 0-1.
Static Threshold Staticthreshold Velocity threshold below which static friction is applied.
Dynamic Scale Dynamicscale Scale factor for dynamic friction forces.
Enable External Enableexternal Enable friction with external collision geometry.
Enable Self Enableself Enable friction for self-collisions.
Ground Static Scale Groundstaticscale Static friction scale for ground collisions.
Ground Dynamic Scale Grounddynamicscale Dynamic friction scale for ground collisions.
Enable Grabber Enablegrabber Enable interactive grabber tool for manipulating points.
Grab Grab Momentary button to activate grabbing.
Position Grabposition Position of the grabber in world space.
Position Grabpositionx
Position Grabpositiony
Position Grabpositionz
Radius Grabradius Radius of the grabber influence sphere.
Radius Grabradiusx
Radius Grabradiusy
Radius Grabradiusz
Strength Grabstrength Strength of the grabber force applied to particles.
Transition Range Transitionrange Range of the transition falloff from the grabber edge.
Transition Align Transitionalign Alignment offset for the transition falloff.
Transition Type Transitiontype Interpolation curve type for the transition falloff.
Linear linear
Smooth Step smoothstep
Ease In Ease Out easeinout
Display Grabber Displaygrabber Visualize the grabber sphere in the viewport.
Visualize Grabbed Points Visgrabbedpoints Highlight points currently affected by the grabber.

Page: Advanced

Integration Order Integrationorder Order of numerical integration for position updates.
First Order first
Second Order sec
Enable Max Acceleration Enablemaxacc Enable maximum acceleration limiting to prevent instability.
Max Acceleration Maxacceleration Maximum allowed acceleration magnitude.
Limit Acceleration in Velocity Update Limitaccel Apply acceleration limiting during velocity update step.
Fallback to First Order Integration on Collision Fallbackcollision Use first order integration when collisions are detected for improved stability.

Inputs

Input 0 POP Geometry
Input 1 POP Constraints
Input 2 POP Collision Geometry

Outputs

Output 0 POP Geometry
Output 1 POP Constraints
Output 2 POP Collision Geometry