Documentation / scene / MultiChainSpringSystem
Class: MultiChainSpringSystem
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:68
Physics engine for multiple spring chains with inter-chain constraints Suitable for cloth, skirts, capes, and other multi-chain simulations
Deprecated
Use the new JointDynamicsSystem class instead.
Constructors
Constructor
new MultiChainSpringSystem(
options?):MultiChainSpringSystem
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:79
Parameters
options?
Returns
MultiChainSpringSystem
Accessors
chains
Get Signature
get chains():
SpringChain[]
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:625
Gets the spring chains
Returns
interChainConstraints
Get Signature
get interChainConstraints():
InterChainConstraint[]
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:632
Gets the inter-chain constraints
Returns
gravity
Get Signature
get gravity():
Vector3
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:639
Gets the current gravity
Returns
Vector3
Set Signature
set gravity(
gravity):void
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:643
Parameters
gravity
Vector3
Returns
void
wind
Get Signature
get wind():
Vector3
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:650
Gets the current wind
Returns
Vector3
Set Signature
set wind(
wind):void
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:654
Parameters
wind
Vector3
Returns
void
iterations
Get Signature
get iterations():
number
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:661
Gets the number of iterations
Returns
number
Set Signature
set iterations(
count):void
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:665
Parameters
count
number
Returns
void
enableInertialForces
Get Signature
get enableInertialForces():
boolean
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:672
Gets whether inertial forces are enabled
Returns
boolean
Set Signature
set enableInertialForces(
enabled):void
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:676
Parameters
enabled
boolean
Returns
void
centrifugalScale
Get Signature
get centrifugalScale():
number
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:683
Gets the centrifugal force scale
Returns
number
Set Signature
set centrifugalScale(
scale):void
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:687
Parameters
scale
number
Returns
void
coriolisScale
Get Signature
get coriolisScale():
number
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:694
Gets the Coriolis force scale
Returns
number
Set Signature
set coriolisScale(
scale):void
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:698
Parameters
scale
number
Returns
void
solver
Get Signature
get solver():
"verlet"|"xpbd"
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:702
Returns
"verlet" | "xpbd"
Set Signature
set solver(
type):void
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:706
Parameters
type
"verlet" | "xpbd"
Returns
void
Methods
addChain()
addChain(
chain):number
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:96
Adds a spring chain to the system
Parameters
chain
The chain to add
Returns
number
The index of the added chain
addInterChainConstraint()
addInterChainConstraint(
constraint):void
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:105
Adds an inter-chain constraint
Parameters
constraint
The constraint to add
Returns
void
createRadialConstraints()
createRadialConstraints(
options):void
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:114
Creates radial constraints between adjacent chains Useful for skirts, capes, and other radial multi-chain structures
Parameters
options
Configuration options
stiffness
number
Constraint stiffness [0-1], used by Verlet solver
maxDistance
number
Maximum distance to create constraints (particles further apart are not connected)
skipRows?
number
Skip first N rows of particles (e.g., anchor points at waist)
connectDistance?
number
Connect to next N chains (default: 1, only adjacent chains)
compliance?
number
XPBD compliance in m/N (default: 0 = rigid). Only used when solver is 'xpbd'.
Returns
void
update()
update(
deltaTime):void
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:164
Updates the physics simulation for all chains
Parameters
deltaTime
number
Time step in seconds
Returns
void
applyToNodes()
applyToNodes(
weight?):void
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:550
Applies simulation results to scene nodes
Parameters
weight?
number = 1.0
Blend weight [0-1] (default: 1.0)
Returns
void
reset()
reset():
void
Defined in: libs/scene/src/animation/spring/multi_chain_spring_system.ts:616
Resets the simulation to initial state
Returns
void