←ALL OPERATORS
> simulations
Soft Body
simulations/soft-body·v1.4.0
IN:3 OUT:3
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
PAGESoft 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. |
PAGECollisions
| Enable Ground Collision | Enablegroundcollision | Enable collision with an infinite ground plane. |
| [+]Ground Position | Groundposition | Position of the ground plane in world space. |
| 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. |
| 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. |
| [+]Radius | Radius | Radius of the collision geometry per axis. |
| 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. |
| [+]Upper Bounds | Upperbounds | Upper bounds of the collision volume in world space. |
| [+]Transform Order | Xord | Sets the order of scale, rotate, and translate operations for the collision geometry transform. |
| [+]Rotate Order | Rord | Sets the order of rotation operations for the collision geometry transform. |
| [+]Translate | T | Translation of the collision geometry in world space. |
| [+]Rotate | R | Rotation of the collision geometry in degrees. |
| [+]Scale | S | Scale of the collision geometry per axis. |
| [+]Pivot | P | Pivot point for the collision geometry transform. |
| 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. |
| 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. |
| Num Hash Buckets | Numhashbuckets | Number of hash buckets used for spatial hashing during self-collision neighbor search. Higher values reduce hash collisions at the cost of memory. |
| Max Neighbors | Maxneighbors | Maximum number of neighbors to consider for self-collision per point. |
PAGEForces
| [+]Gravity | Gravity | Gravity force vector applied to all points. |
| 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. |
| [+]Radius | Grabradius | Radius of the grabber influence sphere. |
| 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. |
| Display Grabber | Displaygrabber | Visualize the grabber sphere in the viewport. |
| Visualize Grabbed Points | Visgrabbedpoints | Highlight points currently affected by the grabber. |
PAGEAdvanced
| [+]Integration Order | Integrationorder | Order of numerical integration for position updates. |
| 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. |
PAGECommon
| Free Extra GPU Memory | Freeextragpumem | Free memory that has accumulated when output memory has grown and shrunk. |
INPUTS
Input 0
POP – GeometryInput 1
POP – ConstraintsInput 2
POP – Collision GeometryOUTPUTS
Output 0
POP – GeometryOutput 1
POP – ConstraintsOutput 2
POP – Collision Geometry
