Chapter 2 · Concepts

2.3The Solver Group

A single Tnpix Solver can sit on several objects at once, the ordinary 3ds Max way: add the modifier to a selection of objects, or instance it from one stack to another. Every object that carries the same Solver instance is simulated together, as one Solver group. Garments in one Solver group collide with each other, stack in layers and can be stitched together. Two garments with two separate Solvers are two separate simulations and never touch.

Group-wide and per-garment settings

Some settings describe the whole Solver group and have one value for it; others belong to each garment.

Group-widePer garment
Gravity; the collider list; the Self Collision settings; the Material Standard's whole-garment values; the Tear's trigger (Tear by), Ends and weakness range. Painted channels and everything bound to them (a material bound to a channel, pins, a Preserve, stitches, the Tear's marked region, numbers and weakness paint); a Material Advanced without a channel, which covers its own garment; Tnpix Forces (each garment is pushed by its own list, Strength, Channel and Active Zone); Tnpix Volume; Tnpix Rigid; Tnpix Soft Body; Tnpix Garment; Tnpix Threads.

Colliders picked on any member of the Solver group are merged into one list. Where two members carry different group-wide values, the member created first wins, whichever object happens to evaluate first. The Tear's settings are the exception: they are taken from all the Solver group's Tears (see Several Tears on one cloth under Tnpix Tear).

The garments of a Solver group take their places in the order 3ds Max first evaluates them after the scene opens. That order gives every garment its default self-collision layer; the garment list of Tnpix Self Collision shows it, and Reset Simulation and a Save on a render farm keep it.

Share the group-wide modifiers as instances across the Solver group: one Gravity, one Collision and one Self Collision on every garment of an outfit. One Forces instance shared the same way pushes every garment alike. That is the intended setup, and it keeps every garment's panel showing the values the Solver group actually uses.

A change on any member of a Solver group re-solves the whole Solver group. Channels are merged by name across the Solver group, so give each garment's channels their own names (see Several Fabrics on One Garment in Chapter 5).

Cloth, soft bodies, pins and a Tnpix Preserve work in a Solver group as they do on a Solver of their own, with every collision: the colliders, the ground and the garments against each other.

A hidden garment

3ds Max does not evaluate a hidden object. A garment hidden while the scene plays stays in the simulation with the shape it had, and the shown garments go on simulating together, frame by frame; shown again, it rejoins them. A garment that has been hidden since the scene was opened, or since Reset Simulation, and never shown is still waited for: until it is shown, every garment of the Solver group simulates alone, without the stitches between them. Show it and play from the first frame to bring the garments together.