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