Class SoftRecoverySettings

The tangle detection and recovery settings shared by every soft body of a world.

A plain JavaScript object; read it from IntegrationParameters.softBodiesRecovery and assign it back to apply it. Every mechanism switches off individually.

Constructors

Properties

authoredVelocityMargin: boolean

Raise the speculative contact margin from velocities authored between steps, so a fast fresh body does not tunnel (default: true).

crossBodyDetection: boolean

Detect boundary crossings between pairs of soft surfaces (default: true).

crossBodyExpelGate: boolean

A vertex constraint touching a boundary crossing between two surfaces may only expel, never hold (default: true).

crossingRepulsion: boolean

Constraints on crossing-flagged features repel instead of standing down (default: false).

crossingRepulsionGuide: boolean

Guide the crossing repulsion by the pair's volume normal rather than the pierced element's plane normal; closed pairs only (default: false).

crossingRepulsionSelfGuide: boolean

Guide the self-crossing repulsion by the fold's volume normal; closed meshes only (default: false).

detectionMotionGating: boolean

Skip the self-crossing sweep while the surface could not have moved far enough to cross itself (default: true).

edgeSpeculation: boolean

Give the edge-vs-edge pass a speculative reach, so bodies crossing corner-first collide; on, those constraints leave pressed 3D piles crossed (default: false).

edgeStandDown: boolean

Edge constraints touching a cross-body boundary crossing stand down (default: true).

invertedCellDetection: boolean

Detect inverted cells (material locally inside out) at each step; feeds the self stand-down (default: true).

overlapConstraintPace: number

Bound on the velocity change the coupled constraint may hand any side per step, in multiples of recoveryPace (default: 1.0).

overlapConstraints: boolean

Intersection-volume contact for closed surfaces: one coupled constraint per overlapping pair, corrected by the intersection volume (default: true).

overlapEdgeStandDown: boolean

The 3D closed-closed edge constraints stand down on a pair an overlap constraint owns (default: true).

overlapKeptDepth: number

The skin overlap kept at rest, as a fraction of the pair's skins (default: 0.0).

overlapMultiVolume: boolean

Split each pair's patch into a grid of cells, each with its own constraint, so the pressure varies across the patch (default: false).

overlapNormalPush: boolean

Push along each constraint's normal instead of the volume gradients, so the whole patch separates along one axis (default: true).

overlapPatchConstraints: SoftPatchConstraints

What the per-point constraints of the features inside a volume constraint's patch do (default: AlongNormal).

overlapPatience: number

Steps without progress of a pair's volume estimate before its positional correction stands down (default: 240).

overlapProgressMargin: number

Relative drop of the overlap estimate that counts as progress for overlapPatience (default: 0.02).

overlapRigid: boolean

Overlap constraints against rigid colliders too (default: true).

overlapSelfRegions: boolean

Volume constraints on a body's self-overlaps between distinct surface regions; closed meshes only (default: false).

overlapSkinVolume: boolean

Measure the intersection volume on the contact skins instead of the geometric surfaces (default: false).

overlapSkipSelfTangled: boolean

A self-crossed mesh takes no pair constraint, its volume gradient pointing the wrong way there (default: true).

overlapSplit: number

Cells per tangent axis of the multi-volume grid (default: 3).

recoveryPace: number

Material recovery pace, in length units per second: the corrective rate allowed to deep recovery, demoted intruders and untangling pulls (default: 0.5).

selfCrossingDetection: boolean

Detect surface self-crossings at each step; feeds the self stand-down (default: true).

selfStandDown: boolean

Self contacts of tangled features stand down, so the elasticity resolves the tangle instead of freezing it (default: true).

copyFromRaw: any

Methods

  • Internal

    Returns RawSoftRecoverySettings