Soft Body
v1.3.0Simulations
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
Target Geometry Update POP
TargetupdatepopPOP operator providing target geometry updates for the simulation.
Time Scale
TimescaleGlobal time scale multiplier for the simulation speed.
Time Step
TimestepRead-only display of effective timestep, equal to 1/FPS of TouchDesigner.
Substeps
SubstepsNumber of simulation substeps per frame for improved stability.
Iterations
IterationsNumber of constraint solver iterations.
Initialize
InitializepulsePulse to initialize or reset the simulation.
Start
StartpulsePulse to start the simulation from its initial state.
Play
PlayToggle to play or pause the simulation.
Step
SteppulsePulse to advance the simulation by one frame when paused.
Enable Ground Collision
EnablegroundcollisionEnable collision with an infinite ground plane.
Ground Position
GroundpositionPosition of the ground plane in world space.
Ground Position
GroundpositionxGround PositionGroundpositionyGround PositionGroundpositionzGround Collision Margin
GroundmarginCollision margin distance from the ground plane surface.
Display Ground
DisplaygroundVisualize the ground plane in the viewport.
Enable Bounding Box Collision
EnablebboxcollisionEnable collision with a bounding box volume.
Bounding Box
BboxA reference to a POP defining the bounding box collision bounds.
Bounding Box Collision Margin
BboxmarginCollision margin distance from the bounding box surface.
Display Bounding Box
DisplaybboxVisualize the bounding box in the viewport.
Collision Type
CollisiontypeSelects the collision geometry type for constraining instance movement.
None
nonePOP (Windows Only)popBoxboxPlaneplaneSpheresphereTorustorus3D SDF3dsdfT3Dt3d2D SDF2dsdfT2Dt2dCollision Damping
CollisiondampingAmount of velocity dampening applied when instances collide with the collision geometry.
Solid
SolidTreats the collision geometry as a solid volume, preventing instances from passing through.
Project
ProjectProjects instances onto the surface of the collision geometry.
Collision POP
CollisionpopReference to a POP containing the collision geometry when using POP collision type.
Collision Offset
CollisionoffsetOffset distance from the collision surface to prevent z-fighting artifacts.
Size
SizeSize of the box collision geometry.
Size
SizexSizeSizeySizeSizezRadius
RadiusRadius of the collision geometry per axis.
Radius
RadiusxRadiusRadiusyRadiusRadiuszCorner Radius
CornerradiusRadius of rounded corners on the box collision geometry.
Collison TOP
CollisontopReference to a TOP texture used as the collision field for SDF and texture collision types.
Use Custom Bounds
UsecustomboundsEnables custom bounding box for the collision texture instead of using the texture's native bounds.
Lower Bounds
LowerboundsLower bounds of the collision volume in world space.
Lower Bounds
LowerboundsxLower BoundsLowerboundsyLower BoundsLowerboundszUpper Bounds
UpperboundsUpper bounds of the collision volume in world space.
Upper Bounds
UpperboundsxUpper BoundsUpperboundsyUpper BoundsUpperboundszTransform Order
XordSets the order of scale, rotate, and translate operations for the collision geometry transform.
Scale Rotate Translate
srtScale Translate RotatestrRotate Scale TranslaterstRotate Translate ScalertsTranslate Scale RotatetsrTranslate Rotate ScaletrsRotate Order
RordSets the order of rotation operations for the collision geometry transform.
Rx Ry Rz
xyzRx Rz RyxzyRy Rx RzyxzRy Rz RxyzxRz Rx RyzxyRz Ry RxzyxTranslate
TTranslation of the collision geometry in world space.
Translate
TxTranslateTyTranslateTzRotate
RRotation of the collision geometry in degrees.
Rotate
RxRotateRyRotateRzScale
SScale of the collision geometry per axis.
Scale
SxScaleSyScaleSzPivot
PPivot point for the collision geometry transform.
Pivot
PxPivotPyPivotPzUniform Scale
ScaleUniform scale factor applied to the collision geometry.
Display Geometry
DisplaygeoShows the collision geometry in the viewport for visualization.
Display Color
DisplaycolorDisplay color for the collision geometry visualization.
Display Color
DisplaycolorrDisplay ColorDisplaycolorgDisplay ColorDisplaycolorbEnable Self Collision
EnableselfcollisionEnable collision detection between different parts of the same soft body as well as between different geometries.
Max Neighbors Distance
MaxdistanceMaximum distance for neighbor search when using distance-based neighbors.
Distribution
DistributionDistribution method for neighbor selection.
Default
defaultUniqueuniqueClosestclosestMax Neighbors
MaxneighborsMaximum number of neighbors to consider for self-collision per point.
Gravity
GravityGravity force vector applied to all points.
Gravity
GravityxGravityGravityyGravityGravityzGravity Multiplier
GravitymultiplierMultiplier for the gravity force.
Velocity Damping
VelocitydampingGlobal velocity damping to reduce motion over time. Range 0-1.
Static Threshold
StaticthresholdVelocity threshold below which static friction is applied.
Dynamic Scale
DynamicscaleScale factor for dynamic friction forces.
Enable External
EnableexternalEnable friction with external collision geometry.
Enable Self
EnableselfEnable friction for self-collisions.
Ground Static Scale
GroundstaticscaleStatic friction scale for ground collisions.
Ground Dynamic Scale
GrounddynamicscaleDynamic friction scale for ground collisions.
Enable Grabber
EnablegrabberEnable interactive grabber tool for manipulating points.
Grab
GrabMomentary button to activate grabbing.
Position
GrabpositionPosition of the grabber in world space.
Position
GrabpositionxPositionGrabpositionyPositionGrabpositionzRadius
GrabradiusRadius of the grabber influence sphere.
Radius
GrabradiusxRadiusGrabradiusyRadiusGrabradiuszStrength
GrabstrengthStrength of the grabber force applied to particles.
Transition Range
TransitionrangeRange of the transition falloff from the grabber edge.
Transition Align
TransitionalignAlignment offset for the transition falloff.
Transition Type
TransitiontypeInterpolation curve type for the transition falloff.
Linear
linearSmooth StepsmoothstepEase In Ease OuteaseinoutDisplay Grabber
DisplaygrabberVisualize the grabber sphere in the viewport.
Visualize Grabbed Points
VisgrabbedpointsHighlight points currently affected by the grabber.
Integration Order
IntegrationorderOrder of numerical integration for position updates.
First Order
firstSecond OrdersecEnable Max Acceleration
EnablemaxaccEnable maximum acceleration limiting to prevent instability.
Max Acceleration
MaxaccelerationMaximum allowed acceleration magnitude.
Limit Acceleration in Velocity Update
LimitaccelApply acceleration limiting during velocity update step.
Fallback to First Order Integration on Collision
FallbackcollisionUse first order integration when collisions are detected for improved stability.
Inputs
Input 0
POPGeometry
Input 1
POPConstraints
Input 2
POPCollision Geometry
Outputs
Output 0
POPGeometry
Output 1
POPConstraints
Output 2
POPCollision Geometry