Chapter 3 · Modifier Reference
3.16Tnpix Soft Body
The Tnpix Soft Body modifier turns a closed object into soft flesh: fat, jelly, rubber or muscle that wobbles, keeps its volume, has the weight of its material and collides with cloth, colliders and the ground. With fibres it is a simple muscle that contracts and bulges.
Location: Modify panel ▸ Modifier List ▸ Tnpix Soft Body
Experimental. Tnpix Soft Body is experimental in this release, and its behaviour may change in later versions. Its muscle simulation is entry level: fibres along a line that contract when activated, tendons at both ends, and a tension point that moves the bulge along the muscle. It is not a full anatomical muscle system.
The object's own points become the corners of a volume of small tetrahedra, the flesh, filled inside with more corners at the Resolution's spacing. The flesh is solved inside the Solver's own steps, so the Solver's pins, stitches, colliders, ground and self collision act on it as they act on cloth, and the object's surface keeps every cloth setting that reaches it. Put Tnpix Soft Body below the Tnpix Solver, like the other modifiers that describe the object.
- It needs a closed mesh. An open mesh, or one with holes, gets no flesh and simulates as cloth; the status line says why.
- Twice the steps. A Solver that holds a closed soft body runs twice its Substeps, and the flesh takes half its passes in each step: a muscle squeezed hard jumps far less from one folded shape to another. The simulation takes longer. A soft body whose own object carries an enabled Tnpix Tear does not count; a Tear on another garment of the Solver group does not change the steps.
- Several Soft Bodies on one object are several materials in one flesh: each covers its own painted channel, an upper modifier over a lower one as its paint says, and points that no channel reaches take the lowest one's material.
- Colliders. A soft body collides with the objects of its own Tnpix Collision modifier, on a Solver that holds only soft bodies as well as beside cloth, and on a Solver shared by several objects.
- With a Tnpix Tear. A Tear on another garment of the Solver group leaves a soft body's flesh alone: the soft body keeps it while the garment tears. A soft body whose own mesh its Tear splits has no flesh — a Tnpix Soft Body does not tear, as a Tnpix Rigid does not — and simulates as cloth; its status line says the Tear has split this object's mesh.
- Above a Tnpix Pin or a Tnpix Preserve. A Soft Body with a Channel placed above a Pin or a Preserve on the stack lets go of the points its channel paints: they move with the flesh while the rest stays held. A Soft Body with no Channel lets nothing go, and a Pin above the Soft Body holds its points. With Keep volume on, a small area let go on a body whose other skin is held moves little: the flesh behind it keeps its volume and has almost nowhere to go. Let go a larger area, or turn Keep volume off, for a looser one.
- With a Tnpix Preserve on the same object, the surface points painted 1 in the Preserve's channel ride the animation below the Solver and the flesh between them moves: paint the parts that must follow the character and let the Soft Body's region jiggle on top of it. Placed above the Preserve, the Soft Body's channel may overlap the Preserve's: where it paints, the flesh wins.
Interface
Presets rollout
Saves every setting of the Soft Body to a preset file and loads it back, as on the materials (see Tnpix Material Standard). The list shows the Soft Body presets of the folder.
Tnpix Soft Body rollout
Soft Body group
- Enabled Default on
- Turns the soft body off without removing the modifier: the object simulates as cloth.
- Material Default Jelly
- Fat, Jelly, Muscle or Rubber sets every material and
fibre setting at once; change one and the list reads Custom.
Material Stiffness Density Damping Fibres Fat 1.5 kPa 0.92 g/cm³ 0.30 off Jelly 5 kPa 1.02 g/cm³ 0.08 off Muscle 10 kPa 1.06 g/cm³ 0.15 on Rubber 500 kPa 1.10 g/cm³ 0.05 off - Stiffness Default 5 kPa
- How firm it is, in kPa as for real materials: fat 1.5, jelly 5, relaxed muscle 10, rubber 500. Range 0.01 to 100,000.
- Density Default 1.02 g/cm³
- How heavy it is for its size; water is 1. With the Stiffness it sets the weight and the speed of the wobble at the object's real size. Range 0.01 to 20.
- Damping Default 0.08
- How fast its wobble dies: 0 wobbles on and on, 0.1 is jelly, 0.3 is fat, 1 settles without a wobble. Range 0 to 1.
- Keep volume Default on
- It keeps its volume as it wobbles: squashed in one place, it bulges next to it. Off, it squashes like a sponge.
- Resolution Default 40 tets across
- How many tetrahedra fit across the object's longest side. More is finer flesh and slower. Range 8 to 200. With several Soft Bodies on one object, the finest wins.
Region group
- Channel / Refresh Default <none - the whole object>
- The painted channel this Soft Body's material covers. <none - the whole object> covers the whole object. The flesh is always the whole object's; the channel says where this material is, and how fully: painted 1 is this material, 0 is the Soft Body's below it. On an object with one Soft Body the whole flesh is its material. Refresh reads the channel list from the stack again.
- Status line
- What the last simulation made: the flesh, its tetrahedra and their size, and on the last simulated frame its volume against its rest and, with fibres, the activation. Or why there is no flesh, and that the object simulates as cloth.
Soft Body Fibres rollout
- Fibres Default off (on for Muscle)
- Gives the soft body fibres along the fibre line: they pull when it is activated, and its volume bulges it across.
- Fibre line Start / End Default none
- The objects at the fibres' start and end: the fibre line runs from Start to End and moves with them, such as two bones or helpers linked to them. Neither picked, it runs along the object's own length. Pick both or neither. The soft body itself cannot be picked.
- Strength Default 300 kPa
- How hard the fibres pull at full activation. Living muscle is about 300 kPa. Range 0 to 100,000.
- Max contraction Default 45 %
- How short the fibres can get at full activation, as a share of their length. Range 0 to 90.
- Tendons Default 10 % each end
- How much of each end is tendon: it does not contract and is much stiffer. Range 0 to 45.
- Tendon stiffness Default 30 x body
- How much stiffer the tendons are than the body between them. Range 1 to 1000.
- Activation Default 0
- How hard the fibres work, from 0 to 1. Animate it to flex the muscle. Animatable.
- Auto tension / Tone Default on, 5 %
- The fibres tense by themselves as Start and End come closer, and keep a little tone so the body stays taut. Tone is how much tension it keeps, from 0 to 50 percent.
- Tension point Default 0.5 of length
- Where along the fibre line it tenses most, and bulges: 0 at Start, 0.5 in the middle, 1 at End. Animate it to move the bulge along the muscle. Animatable.
- Tension spread Default 0.2 of length
- How wide the tense area is, as a share of the fibre line. 0 tenses the whole body evenly. Range 0 to 1.
Tension Point sub-object level
Open the modifier's Tension Point level in the stack to see the fibre line and the yellow marker on it. With Move on, drag the marker along the line to set the Tension point.
Limits
- A soft body squeezed hard against itself with Self Collision on can jump and leave a few tetrahedra inside out.
- A soft body that only lies on a pinned cloth can sink through it. Sew it to the cloth with a Tnpix Stitch instead.
- A layer that slides at Friction 0 can buzz; keep a little friction (0.3 is the Stitch's default).