Soft Body
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: Solver
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.
Max Constraints per Point
Maxconstperpoint
–
Maximum number of constraints that can be attached to a single point.
Enable Pressure Constraints
Pressureconst
–
Enable volume-preserving pressure constraints for closed meshes.
Substeps
Substeps
–
Number of simulation substeps per frame for improved stability.
Constraint Iterations
Iterations
–
Number of constraint solver iterations. Higher values improve accuracy but increase computation time.
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 Collisions
Enablecollisions
–
Master toggle for all collision detection and response.
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
Display Ground
Displayground
–
Visualize the ground plane in the viewport.
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.
Display Bounding Box
Displaybbox
–
Visualize the bounding box in the viewport.
Geometry Collision
Enablegeocollision
–
Enable collision with external geometry from the collision geometry input (Input 2).
Collision Thickness
Collisionthickness
–
Thickness value for collision detection with external geometry.
Display Collider
Displaycollider
–
Visualize the collision geometry in the viewport.
Self Collision
Enableselfcollision
–
Enable collision detection between different parts of the same soft body as well as between different geometries.
Self Collision Passes
Selfcollisionpasses
–
Number of self-collision detection passes per substep.
Enable Normal-Based Correction
Normalcorrection
–
Use surface normals to improve collision response accuracy.
Neighbors Type
Nebrtype
–
–
Method for determining neighbor points for self-collision.
By Distance
distance
Connected
connected
Max Neighbors
Maxneighbors
–
Maximum number of neighbors to consider for self-collision per point.
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
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.
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.
Grab
Grab
–
Momentary button to activate grabbing.
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.
Page: Post Process
Post Smooth Positions
Postsmoothp
–
Apply position smoothing after simulation step.
Post Line Smooth
Postlinesmooth
–
Apply line smoothing to line strip geometry.
Page: Visualize
Simulated Geometry
Simulatedgeometry
–
Display the simulated geometry.
Collisions
Viscollisions
–
Visualize collision detection points.
Color
Collisionscolor
–
–
Color for collision visualization.
Color
Collisionscolorr
Color
Collisionscolorg
Color
Collisionscolorb
Self Collision
Visselfcollision
–
Visualize self-collision detection points.
Color
Selfcollisioncolor
–
–
Color for self-collision visualization.
Color
Selfcollisioncolorr
Color
Selfcollisioncolorg
Color
Selfcollisioncolorb
Thickness
Visthickness
–
Visualize point thickness values.
Color
Thicknesscolor
–
–
Color for thickness visualization.
Color
Thicknesscolorr
Color
Thicknesscolorg
Color
Thicknesscolorb
Distance Along Edges
Distancealongedges
–
Visualize distance constraints along mesh edges.
Color
Distalongedgescolor
–
–
Color for edge distance constraint visualization.
Color
Distalongedgescolorr
Color
Distalongedgescolorg
Color
Distalongedgescolorb
Bend Across Triangles
Bendacrosstriangles
–
Visualize bending constraints across triangle edges.
Color
Bendacrosstricolor
–
–
Color for bend constraint visualization.
Color
Bendacrosstricolorr
Color
Bendacrosstricolorg
Color
Bendacrosstricolorb
Struts
Struts
–
Visualize strut constraints.
Color
Strutscolor
–
–
Color for strut constraint visualization.
Color
Strutscolorr
Color
Strutscolorg
Color
Strutscolorb
Attach to Geometry
Attachtogeometry
–
Visualize attachment constraints to collision geometry.
Color
Attachtogeocolor
–
–
Color for attachment constraint visualization.
Color
Attachtogeocolorr
Color
Attachtogeo colorg
Color
Attachtogeocolor b
Pinned
Pinned
–
Visualize pinned points.
Color
Pinnedcolor
–
–
Color for pinned point visualization.
Color
Pinnedcolorr
Color
Pinnedcolorg
Color
Pinnedcolorb
Property
Property
–
–
Constraint property to visualize with color mapping.
None
none
Stretch Stress
stretchstress
Bend Stress
bendstress
Stretch Distance
stretchdistance
Stretch Ratio
stretchratio
Bend Angle
bendangle
Stretch Plastic Flow
stretchplasticflow
Bend Plastic Flow
bendplasticflow
Volume Stress
volumestress
Volume Distance
volumedistance
Volume Ratio
volumeratio
Display Property
Displayproperty
–
Show the selected property visualization on constraints.
Max Value
Maxvalue
–
Maximum value for property color mapping range.
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
Output 3
POP
–
Target Geometry Update