Chapter 3 · Modifier Properties
3.6Tnpix_Self_Collision
Panel name Tnpix Self Collision · also reachable as TnpixSelfCollision
Self collision and layers. A new modifier starts switched on. The four member arrays are the storage behind the panel's garment list; keep them the same length and append to them in step.
| Property | Type | A | Default | Range | Description |
|---|---|---|---|---|---|
tnEnabled | boolean | true | On/off. A new modifier starts on; turning it on also turns edgeEdge on. | ||
edgeEdge | boolean | true | Edge-edge contacts. Always on under modes 1 and 2. | ||
thickness | float | A | 0.15 inch† | 0.001 – 10.0 | Self-contact radius in scene units; two layers settle about twice this apart. A new modifier takes 0.15 inch in the scene's unit. |
friction | float | A | 0.0 | 0.0 – 1.0 | Self-collision friction. |
passes | integer | 10 | 1 – 50 | Relaxation passes per step. | |
queryDiameter | float | 2.0 | 1.0 – 4.0 | Contact search diameter as a multiple of the thickness; never below 1. | |
samePieceExclusion | float | 2.5 | 0.5 – 4.0 | Under exclusion 0 only: the same-piece radius as a multiple of the point spacing. | |
mode | integer | 2 | 0 – 2 | 0 = Basic, 1 = Advanced (Optimized plus collisionSubsteps), 2 = Optimized (Basic plus recovery). | |
layerOrdering | boolean | false | Layer ordering: the lower layer holds, the upper gives way. Works under every mode. | ||
overrideMaterialFriction | boolean | false | true = this modifier's friction wins over the materials' friction. | ||
layerHoldStrength | float | 4.0 | 1.0 – 32.0 | How firmly the lower layer holds; 1 = no hold. | |
memberHandles | integer array | empty | The garment list: node handles (obj.inode.handle). | ||
memberLayers | integer array | empty | Layer per garment, parallel to memberHandles; lower = nearer the body. | ||
memberFrictions | float array | empty | Friction per garment, parallel; −1 = inherit. | ||
memberThicknesses | float array | empty | Thickness per garment, parallel; −1 = inherit. | ||
exclusion | integer | 1 | 0 – 1 | 0 = Rest distance, 1 = Mesh ring. | |
inelasticContact | boolean | true | true = cloth pressing on cloth stops instead of bouncing (the push goes to positions, not velocity). | ||
collisionSubsteps | integer | 4 | 1 – 16 | Under mode 1 only: self collision runs this many times per substep, each time on the next part of the substep's motion; the material is not solved again. 1 = exactly Optimized. The other modes ignore it. |