←ALL OPERATORS
> simulations
Flesh
simulations/flesh·v1.5.1
IN:1 OUT:1
SUMMARY
The Flesh operator builds a tetrahedral lattice inside each connected body of the input mesh, embeds the mesh in it and solves the tets as a Neo-Hookean solid. Every frame the input mesh is skinned from the deformed lattice, so the output keeps the original topology.
The Material page sets stiffness, Poisson ratio for volume preservation, damping and inflation, and Resolution sets the lattice detail per body. Pins, a grabber, self collision, ground, box, mesh and field colliders and wind are built in, and the simulation runs as a feedback loop (Initialize, Start, Play) with a Target Feedback Loop POP for forces downstream.
PARAMETERS
PAGEFlesh
| Target Feedback Loop POP | Targetpop | A reference to a POP node downstream in the network whose data is retrieved one frame later. Only PartForce is read back. |
| Time Scale | Timescale | Speed multiplier on the time step. 0 freezes and 2 doubles. |
| Time Step | Timestep | The time step per frame in seconds, 1 divided by the cook rate (read-only). Time Scale multiplies it. |
| Substeps | Substeps | Number of solver substeps per 1/60 second. More substeps are more stable. |
| Iterations | Iterations | Number of constraint passes per substep. |
| Resolution | Resolution | Number of lattice cells across the longest axis of each body. Every disconnected piece gets its own lattice. |
| Margin | Margin | How far the tet shell reaches outside the surface. |
| Snap To Surface | Snap | When on, the shell tets are cut to the surface at Margin, so the cage follows thin parts like ears and fingers. When off, the cage is made of whole lattice cubes. |
| Body Padding | Padcells | Sets the number of empty lattice cells around each body, so its surface never sits on the edge of the lattice. |
| Max Pieces | Maxpieces | Sets the maximum number of disconnected bodies in the input. Extra pieces get no lattice. |
| Rebuild Tets | Rebuildtets | Rebuild the tet mesh and rest state from the current input. This also happens on Start and Initialize. |
| Auto Rebuild | Autorebuild | When on, the constraints are rebuilt every frame, for an animated input or changing topology. |
| Tets Built | Tetsbuilt | Shows the number of tetrahedra produced by the last build (read-only). |
| Vertices Built | Verticesbuilt | Shows the number of lattice vertices produced by the last build, the points the solver moves (read-only). |
| Pieces Built | Piecesbuilt | Shows the number of disconnected bodies found by the last build (read-only). |
| Build Time (ms) | Buildtime | Duration of the last build in milliseconds (read-only). |
| Display Tets | Displaytets | Display the tet edges in the Display Color of the Collisions page. |
| Initialize | Initializepulse | Initializes the POP from its input and parameters. |
| Start | Startpulse | Start the simulation from the initialized state. |
| Play | Play | Pause or play the feedback loop. |
| Step | Steppulse | Advance the simulation by one frame while paused. |
PAGEMaterial
| [+]Mass | Mass | Determines the mass: one set value, or computed from Density by volume. |
| Vertex Mass | Setmass | Mass of every point when Mass is Set, in kg with 1 unit equal to 1 m. |
| Density | Density | Mass per unit volume when Mass is set to Density. |
| [+]Stiffness Scale | Stiffnessscale | Sets the multiplier on Stiffness that gives Young's modulus in Pa: 1e4 for soft flesh, 1e5 for firm rubber, 1e6 for hard rubber. |
| Stiffness | Stiffness | Sets the material stiffness, scaled by Stiffness Scale, as the Young's modulus of the Neo-Hookean solve. |
| Poisson Ratio | Poissonratio | Sets the volume preservation. 0.5 is incompressible, 0.45 is flesh and 0.3 is cork-like. |
| Damping Ratio | Dampingratio | Sets the damping ratio of every tet constraint, where 0 is no damping and 1 is critical damping. |
| Inflate | Inflate | Sets the target volume as a multiple of the rest volume. 1 keeps the rest volume, 1.5 swells by half and 0.8 shrinks. |
| Stiffness Attribute | Stiffnessattr | Sets the float point attribute, such as a painted falloff, that scales the stiffness of each tet through Attribute Mode. |
| [+]Attribute Mode | Attrmode | Determines how the attribute applies. Multiply uses a plain factor; Logarithmic maps 0 to 1 across Attribute Range decades below Stiffness. |
| Attribute Range | Attrrange | In Logarithmic mode, the number of decades of stiffness the Stiffness Attribute spans below Stiffness. |
| Pin Group | Pingroup | Point group of the mesh. The tets holding it are pinned. |
| Match Animation | Matchanimation | When on, pinned points follow the live input. When off, they hold the rest pose. |
| Display Pins | Displaypins | Display the pinned points. |
PAGECollisions
| Enable Self Collision | Enableselfcollision | Enable collisions of the points with each other. |
| [+]Self Collision Mode | Selfcollisionmode | Between Pieces collides only different bodies and is cheaper. All also collides inside a body. |
| Contact Thickness | Contactthickness | Sets the contact radius of a tet vertex, in cells of its body. Bodies touch within twice this distance. Updates live. |
| Collision Passes | Selfcollisionpasses | Number of self-collision solves per substep. |
| Stiffness | Selfstiffness | Fraction of each self-collision correction that is applied, from 0 to 1. |
| Enable Ground Collision | Enablegroundcollision | Collide with an infinite ground plane. |
| Display Ground | Displayground | Display the ground plane. |
| [+]Ground Position | Groundposition | A point on the ground plane. |
| [+]Ground Direction | Grounddirection | Normal of the ground plane. 0 1 0 is a level floor. |
| Ground Collision Margin | Groundmargin | Distance the points keep from the ground. |
| Enable Bounding Box Collision | Enablebboxcollision | Keep the points inside the bounding box. |
| Display Bounding Box | Displaybbox | Enable drawing the bounding box. |
| [+]Bounding Box Center | Bboxcenter | Center of the bounding box, in collider space. |
| [+]Bounding Box Size | Bboxsize | Size of the bounding box, in collider space. |
| Lower Bounds | Bboxlowerbounds | Enable the lower walls of the bounding box in each axis. |
| Upper Bounds | Bboxupperbounds | Enable the upper walls of the bounding box per axis. |
| Bounding Box Collision Margin | Bboxmargin | Distance the points keep from the box walls. |
| Bounding Box POP | Bbox | Optional POP whose world bounds replace the built-in box. |
| [+]Collision Type | Collisiontype | Selects the collider: none, a POP mesh (ray traced, Windows only) or a field used as an SDF volume. |
| Display Geometry | Displaygeo | Enable drawing the collider, as the mesh or the field's zero surface. |
| Collision Passes | Geocollisionpasses | Number of collider solves per substep. More passes hold fast moving geometry. |
| Collision POP | Collisionpop | The collider, either a mesh POP or an SDF field volume. |
| [+]Dist Attribute (SDF) | Distattr | For a field collider, the signed distance attribute of the Collision POP, negative inside. |
| Solid | Solid | When on, points inside the collider are pushed out. When off, the collider is hollow. |
| Keep Inside | Keepinside | When on, the collider is hollow and every outside point is pulled back in. When off, only escaping points are caught. |
| Project | Project | Place every point on the collider surface instead of colliding. |
| Collision Offset | Collisionoffset | Distance the points keep from the collider surface. |
| Collision Damping | Collisiondamping | Velocity lost on contact. 0 bounces and 1 stops. |
| [+]Transform Order | Xord | Sets the transform order of the collider and the bounding box. |
| [+]Rotate Order | Rord | Sets the order of the rotations of the collider and the bounding box. |
| [+]Translate | T | Translate the collider and the bounding box in the three axes. |
| [+]Rotate | R | Rotate the collider and the bounding box around the X, Y and Z axes. Angles are given in degrees. |
| [+]Scale | S | Scale factor for each axis of the collider and the bounding box. |
| [+]Pivot | P | The pivot point for the rotate and scale of the collider and the bounding box. |
| Uniform Scale | Scale | Specifies a uniform scale factor for the collider and the bounding box. |
| [+]Display Color | Displaycolor | Sets the color of the displayed guides. |
PAGEForces
| [+]Gravity | Gravity | The gravity vector in units per second squared. |
| Gravity Multiplier | Gravitymultiplier | Multiplies the Gravity vector. |
| [+]Wind Direction | Winddirection | The direction the wind blows in. Its length does not matter. |
| Wind Speed | Windspeed | The wind acceleration along Wind Direction, in units per second squared. |
| Velocity Damping | Velocitydamping | Amount of damping applied to the velocity. 0 applies no damping. |
| Static Threshold | Staticthreshold | Sets the static friction coefficient. Contacts below it grip. |
| Dynamic Scale | Dynamicscale | Sets the kinetic friction coefficient that slows sliding contacts. |
| Enable Self | Enableself | Enable friction on the self-collision contacts. |
| Enable External | Enableexternal | Enable friction on the bounding box, the Collision POP and fields. The ground always uses its own friction. |
| Ground Static Scale | Groundstaticscale | Sets the static friction of the ground plane. 0 is frictionless. |
| Ground Dynamic Scale | Grounddynamicscale | Sets the kinetic friction of the ground plane. |
| Enable Grabber | Enablegrabber | Enable the grabber: grab and drag the simulated points inside a sphere. |
| Grab | Grab | While on, the points inside the grabber when it turned on follow Position. |
| [+]Position | Grabposition | Sets the position of the grabber in world space. |
| [+]Radius | Grabradius | Sets the radius of the grabber sphere on each axis. |
| Strength | Grabstrength | Determines how firmly the grabbed points follow. 1 holds them like pins, lower values let the simulation pull them. |
| Transition Range | Transitionrange | Width of the falloff at the edge of the grabber sphere. |
| Transition Align | Transitionalign | Moves the falloff inside (-0.5) or outside (0.5) the sphere edge. |
| [+]Transition Type | Transitiontype | Determines the interpolation curve of the falloff. |
| Display Grabber | Displaygrabber | Display the grabber sphere in the viewport. |
PAGEAdvanced
| [+]Integration Order | Integrationorder | Sets the integration order of the position update. |
| Enable Max Acceleration | Enablemaxacc | Limit the acceleration to Max Acceleration. |
| Max Acceleration | Maxacceleration | Sets the maximum acceleration magnitude. |
| Limit Acceleration in Velocity Update | Limitaccel | When on, the acceleration limit applies to the velocity update instead of the position step. |
| Fallback to First Order Integration on Collision | Fallbackcollision | Use first order integration on collision, which is more stable. |
| Relaxation | Relaxation | Scales each constraint step. 1 is exact, below 1 is softer, above 1 is stiffer but jittery. |
| Self Step Clamp | Selfclampscale | Limits the move per substep to this fraction of the contact diameter, which prevents tunneling. |
| Rest Exclude Scale | Restexcludescale | Skips self-collision pairs that are closer at rest than this multiple of the contact distance. |
PAGECommon
| Free Extra GPU Memory | Freeextragpumem | Free memory that has accumulated when output memory has grown and shrunk. |
INPUTS
Input 0
POP - GeometryOUTPUTS
Output 0
POP - Geometry
