🧪 Material Parameters#
Per-object material parameters. Set via object.param.set(key, value) on a frontend.Object. The solver exposes five element types, each with its own defaults:
tri: triangle shells (cloth).tet: tetrahedral solids.rod: rod / edge elements.pdrd: exactly-rigid PDRD bodies built from a surface mesh.points: granular (sand) particle clouds.
(not applicable) in a default column means the given element type does not expose that parameter.
allow-inter-group-intersection#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Allow Inter-Group Intersections |
Description |
If non-zero, this object and any object in a DIFFERENT group may pass through each other: the pair gets no contact force, is not held apart by the line search, and is not reported as an intersection. Objects of the same group still collide; use ‘allow-inter-object-intersection’ for those. A static collider mesh counts as another group; the invisible walls and spheres are not affected. Treated as a boolean flag. Only one of the two objects has to set it. A group is what the Blender add-on assigns, or what Object.group names in a Python scene; objects given none share one default group. |
allow-inter-object-intersection#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Allow Inter-Object Intersections |
Description |
If non-zero, this object and any DIFFERENT object may pass through each other: the pair gets no contact force, is not held apart by the line search, and is not reported as an intersection. That includes static collider meshes, but not the invisible walls and spheres. Treated as a boolean flag. Only one of the two objects has to set it, so flagging a garment also lets it pass through the character it is fitted to. Intersections within this object are unaffected; use ‘allow-self-intersection’ for those. |
allow-self-intersection#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Allow Self-Intersections |
Description |
If non-zero, two elements of THIS SAME object may pass through each other: the pair gets no contact force, is not held apart by the line search, and is not reported as an intersection. Treated as a boolean flag. Intersections with other objects are unaffected; use ‘allow-inter-object-intersection’ for those. |
bend#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Bending Stiffness |
Description |
Dimensionless bending stiffness for shell hinges (between adjacent ‘tri’ faces) and for rod-joint bending at interior rod vertices. Must be non-negative. Not used by ‘tet’ elements. For ‘tri’ shells this is the ISOTROPIC part, applied at every hinge whatever its orientation; ‘bend-warp’ and ‘bend-weft’ add directional stiffness on top of it. |
bend-plasticity#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Bend Plasticity Rate |
Description |
Rate constant (per second) for bending plasticity that drifts the rest angle of shell hinges and interior rod joints toward the current angle. 0.0 disables. Applies to ‘tri’ and ‘rod’; kept on ‘tet’ only as a placeholder and ignored by the solver. |
bend-plasticity-threshold#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Bend Plasticity Threshold |
Description |
Angular dead zone (radians) around the rest angle. Bend plasticity only activates when |theta - theta_rest| exceeds this threshold. 0.0 means any angular deviation triggers creep. |
bend-rest-from-geometry#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Bend Rest From Initial Geometry |
Description |
If non-zero, initialize each hinge or rod-joint rest angle from the initial pose instead of the default (flat for shells, straight for rods). Treated as a boolean flag. |
bend-warp#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Bending Stiffness (Warp) |
Description |
Extra bending stiffness for the warp (UV X) fibers of ‘tri’ shells, added on top of ‘bend’ in proportion to how much a hinge bends those fibers. Same units as ‘bend’. 0.0 leaves bending isotropic. Must be non-negative. Requires a UV map when non-zero. Ignored by ‘tet’ and ‘rod’ elements. |
bend-weft#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Bending Stiffness (Weft) |
Description |
Extra bending stiffness for the weft (UV Y) fibers of ‘tri’ shells, added on top of ‘bend’ in proportion to how much a hinge bends those fibers. Same units as ‘bend’. 0.0 leaves bending isotropic. Must be non-negative. Requires a UV map when non-zero. Ignored by ‘tet’ and ‘rod’ elements. |
bending-damping#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Bending Damping |
Description |
Stiffness-proportional Rayleigh damping coefficient (beta) for shell and rod bending, in seconds, applied to the bending tangent stiffness. Usually smaller than deformation damping. 0.0 disables it. Must be non-negative. Not used by ‘tet’ elements. |
contact-gap#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Contact Gap |
Description |
Barrier activation distance for contact detection, in scene units. At each pair the solver uses the mean of the two participants’ gaps as the threshold. Must be positive. |
contact-offset#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Contact Offset |
Description |
Extra per-element padding added on top of the contact gap (scene units). At each pair the two participants’ offsets are summed, acting like a skin thickness that guarantees minimum clearance. Must be non-negative. |
deformation-damping#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Deformation Damping |
Description |
Stiffness-proportional Rayleigh damping coefficient (beta) for stretch/membrane/solid deformation, in seconds. Damps high-frequency deformation by reusing the element tangent stiffness: it adds (beta/dt)*K to the system matrix. 0.0 disables it. Must be non-negative. |
density#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Density |
Description |
Rest-state mass density. Units depend on element type: kg/m^3 for ‘tet’ (volumetric), kg/m^2 for ‘tri’ (areal), and kg/m for ‘rod’ (linear). Must be positive. |
friction#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Friction Coefficient |
Description |
Coulomb friction coefficient at contacts (dimensionless). When two elements touch, the solver uses the minimum of the two participants’ coefficients, so the more slippery side wins. Must be non-negative. |
length-factor#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Rod Rest-Length Factor |
Description |
Multiplier applied to each rod edge’s rest length (dimensionless). Values below 1.0 pre-tension the rod, above 1.0 pre-compress it. Must be positive. Used by ‘rod’ elements only. |
model#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Deformation Model |
Description |
Elastic constitutive model used to evaluate stretch energy. Valid choices are ‘arap’, ‘stvk’, ‘baraff-witkin’ (shells only), and ‘snhk’ (stable neo-Hookean). Rods are always solved with ARAP internally. |
plasticity#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
(not applicable) |
Default (pdrd) |
|
Default (points) |
(not applicable) |
Label |
Plasticity Rate |
Description |
Rate constant (per second) for stretch plasticity, driving the rest shape toward the current deformation via alpha = 1 - exp(-rate * dt). 0.0 disables plasticity; higher values creep faster. Must be non-negative. |
plasticity-threshold#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
(not applicable) |
Default (pdrd) |
|
Default (points) |
(not applicable) |
Label |
Plasticity Threshold |
Description |
Dead zone (dimensionless) around unit principal stretch S=1. Plasticity only activates on a singular value k when |S_k - 1| exceeds this threshold. 0.0 means any deviation triggers creep. |
poiss-rat#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Poisson’s Ratio |
Description |
Poisson’s ratio used together with Young’s modulus to derive the Lame parameters. Valid range is (0, 0.5); values near 0.5 produce near-incompressible behavior. Used by ‘tri’ and ‘tet’ elements only. |
pressure#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Inflation Pressure |
Description |
Per-face inflation pressure pushing ‘tri’ shells outward along the face normal. Must be non-negative; 0.0 disables inflation. Ignored by ‘tet’ and ‘rod’ elements. |
shrink#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Shrink |
Description |
Isotropic rest-shape scale for ‘tet’ solids. Values below 1.0 pre-contract the solid so it pulls toward a smaller target, above 1.0 pre-inflate it. Must be positive. Ignored by ‘tri’ and ‘rod’ elements. |
shrink-x#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Shrink X |
Description |
Anisotropic rest-shape scale along the UV X (warp) direction for ‘tri’ shells. Values below 1.0 pre-shrink the cloth, above 1.0 pre-stretch it. Must be positive. Cannot be combined with a non-zero strain limit on the same face. |
shrink-y#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Shrink Y |
Description |
Anisotropic rest-shape scale along the UV Y (weft) direction for ‘tri’ shells. Values below 1.0 pre-shrink the cloth, above 1.0 pre-stretch it. Must be positive. Cannot be combined with a non-zero strain limit on the same face. |
stitch-stiffness#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Stitch Stiffness |
Description |
Direct stiffness factor for the stitch force on this object’s stitches (loose-edge / intra-object stitches). Scales the stitch gradient and Hessian directly, with no mass or dt normalization. Must be non-negative. Resolved per object at scene build and applied per stitch row in the solver. |
strain-limit#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Strain Limit |
Description |
Upper bound on per-element tensile strain (dimensionless, e.g. 0.05 = 5% stretch). 0.0 disables strain limiting. Supported on ‘tri’ and ‘rod’ elements only, and incompatible with non-unit shrink-x/shrink-y on the same face. |
young-mod#
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Default (pdrd) |
|
Default (points) |
|
Label |
Young’s Modulus |
Description |
Stiffness coefficient fed into the constitutive model, pre-normalized by density (units of Pa/rho). This decouples mass from stiffness, so doubling density alone leaves the motion unchanged. Must be positive. |
sand-friction#
Key |
|
Default (tri) |
(not applicable) |
Default (tet) |
(not applicable) |
Default (rod) |
(not applicable) |
Default (pdrd) |
(not applicable) |
Default (points) |
|
Label |
Sand Friction |
Description |
Inter-grain Coulomb friction coefficient (dimensionless). Must be non-negative. |
sand-particle-mass#
Key |
|
Default (tri) |
(not applicable) |
Default (tet) |
(not applicable) |
Default (rod) |
(not applicable) |
Default (pdrd) |
(not applicable) |
Default (points) |
|
Label |
Sand Particle Mass |
Description |
Mass of a single sand particle, in kilograms (the addon authors it in grams and converts). Must be positive. |