Chapter 3 · Modifier Properties
3.20Tnpix_Threads
Panel name Tnpix Threads · also reachable as TnpixThreads
Warp and weft threads where the cloth tears and along painted hems. It goes directly above the Tnpix Solver and reads the Solver's frames. TnpixTool.threadsInfo reads its status lines and threadsMakeObject makes its threads object (Chapter 4).
| Property | Type | A | Default | Range | Description |
|---|---|---|---|---|---|
tnEnabled | boolean | true | On/off. Off, the cloth leaves the modifier exactly as it came in. | ||
whereItTears | boolean | true | Threads are born on the frame a seam tears. Needs a Tnpix Tear on the cloth. | ||
alongPaintedEdges | boolean | false | A fringe on the open borders inside channel. | ||
channel | string | "" | The channel that marks the borders to fringe, by name; "" = every open border. An edge is fringed when both its points are painted at 0.5 or more. | ||
grainFrom | integer | 0 | 0 – 2 | Which way the threads run: 0 = Auto (UVs, else combed), 1 = UVs only, 2 = Combed only. | |
combAlong | integer | 0 | 0 – 2 | The axis of the combed grain: 0 = Up (world Z), 1 = World X, 2 = World Y. | |
grainAngle | float | 0.0 | -180.0 – 180.0 | Turns the grain around each face, in degrees; 45 = bias cut. | |
warpEvery | float (distance) | 0.25 inch† | 0.0001 – 1,000,000 | Spacing between the threads that run along the grain. | |
weftEvery | float (distance) | 0.25 inch† | 0.0001 – 1,000,000 | Spacing between the threads that run across the grain. | |
threadLength | float (distance) | 0.75 inch† | 0.0 – 1,000,000 | How far a loose thread reaches out of the cloth. | |
randomLength | float | 40.0 | 0.0 – 100.0 | Percent: each thread's length varies by up to this share, longer or shorter. | |
strays | float | 3.0 | 0.0 – 100.0 | Percent of the threads that are much longer than the rest. | |
strayLength | float | 6.0 | 1.0 – 100.0 | How many times longer a stray is (the panel's x length). | |
seed | integer | 1 | 0 – 999,999 | Another arrangement of the same settings: which threads are long, clumped or holding. | |
clump | float | 0.3 | 0.0 – 1.0 | How strongly neighbouring threads bunch into strands; 0 = apart, 1 = a strand's tips meet. | |
clumpSize | integer | 6 | 2 – 100 | Threads per strand. | |
frizz | float | 0.2 | 0.0 – 2.0 | How far a thread wanders off straight, as a share of its length. | |
frizzFrequency | float | 3.0 | 0.0 – 50.0 | Kinks along a thread. | |
holdAcrossCrack | boolean | true | Some threads span the crack from lip to lip (the panel's Threads that still hold across the crack). | ||
warpHolds | float | 12.0 | 0.0 – 100.0 | Percent of the crack's warp threads that still span it. | |
weftHolds | float | 12.0 | 0.0 – 100.0 | Percent of the crack's weft threads that still span it. | |
snapsAt | float | 3.0 | 1.0 – 100.0 | A holding thread pulls length out of the weave up to this many times its length, then stretches (the panel's A holding thread snaps at). | |
looseEnds | boolean | true | A torn seam without a holding thread leaves a loose thread on each side. | ||
leanTowardCut | float | 0.0 | 0.0 – 1.0 | 0 = every thread along its grain, 1 = straight out of the cut. | |
motion | integer | 0 | 0 – 1 | 0 = Dynamic, 1 = Follow the cloth. | |
damping | float | 0.08 | 0.0 – 1.0 | Share of a thread's swing lost each frame, at 30 frames per second. Dynamic only. | |
pointsPerThread | integer | 13 | 3 – 64 | Simulated points per thread. | |
collideWithCloth | boolean | true | The threads stay off the cloth they grow from. | ||
collideWithColliders | boolean | true | The threads collide with the cloth's Tnpix Collision objects. | ||
threadThickness | float (distance) | 0.02 inch† | 0.0 – 1,000,000 | Each thread's thickness; collision keeps half of it off every surface. | |
tubeSides | integer | 3 | 3 – 16 | Sides of each tube. | |
warpMaterialID | integer | 0 | 0 – 65,535 | Material ID of the warp tubes; 0 = the ID of the face the thread grows from. | |
weftMaterialID | integer | 0 | 0 – 65,535 | Material ID of the weft tubes; 0 = the ID of the face the thread grows from. | |
threadCap | integer | 500,000 | 1 – 2,000,000 | The most threads this modifier makes; past it, every crack is thinned alike. | |
material | integer | 0 | 0 – 5 | 0 = Cotton, 1 = Wool, 2 = Silk, 3 = Linen, 4 = Synthetic, 5 = Custom. 0 to 4 write bendingLength, damping, friction and breaksAt; changing any of those makes it 5. | |
bendingLength | float (distance) | 0.35 inch† | 0.001 – 1,000,000 | How stiff the thread is, as a length: shorter threads stand, longer ones droop. | |
friction | float | 0.4 | 0.0 – 2.0 | How much a thread grips what it lies on; 0 = slides off, 1 = stays. Dynamic only. | |
forcesFromCloth | boolean | true | The cloth's Tnpix Forces act on its threads too. Dynamic only. | ||
collideWithRoom | boolean | true | The threads collide with the other objects simulated in the same Tnpix Solver. | ||
tubesGoTo | integer | 0 | 0 – 1 | 0 = the cloth mesh, 1 = their own object (a Tnpix Threads Object). | |
breaksAt | float | 7.0 | 0.0 – 1000.0 | Percent a thread stretches before it snaps. | |
viewportPercent | float | 10.0 | 0.1 – 100.0 | Percent of the threads the viewport shows; a render makes all of them. | |
textureFrom | integer | 0 | 0 – 1 | 0 = UVs along the thread, 1 = the cloth's texture read at the thread's root. |