Skip to content

Documentation / scene / SimulationParams

Interface: SimulationParams ​

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:52

Parameters for a single simulation step.

Properties ​

isPaused ​

isPaused: boolean

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:54

If true, skip force integration (only apply root motion and output positions)


stepTime ​

stepTime: number

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:56

Frame delta time in seconds (will be subdivided by subSteps)


subSteps ​

subSteps: number

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:58

Number of substeps per frame. Higher = more stable simulation


rootPosition ​

rootPosition: Vector3

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:60

Current root bone world position


previousRootPosition ​

previousRootPosition: Vector3

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:62

Previous frame's root bone world position (for root motion limiting)


rootSlideLimit ​

rootSlideLimit: number

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:64

Max world-space root slide distance retained after root motion. -1 = no limit


rootRotation ​

rootRotation: Quaternion

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:66

Current root bone world rotation


previousRootRotation ​

previousRootRotation: Quaternion

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:68

Previous frame's root bone world rotation


rootRotateLimit ​

rootRotateLimit: number

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:70

Max root rotation angle (degrees) per substep. -1 = no limit


windForce ​

windForce: Vector3

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:72

Global wind force vector


enableSurfaceCollision ​

enableSurfaceCollision: boolean

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:74

Enable triangle-based surface collision


surfaceConstraints ​

surfaceConstraints: number[]

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:76

Triangle indices for surface collision (6 per quad: 2 triangles, 3 indices each)


relaxation ​

relaxation: number

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:78

Number of constraint relaxation iterations per substep


constraintShrinkLimit ​

constraintShrinkLimit: number

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:80

Upper limit for horizontal/shear shrink power


blendRatio ​

blendRatio: number

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:82

Blend ratio between physics and animation [0-1]. 0 = full physics


isFakeWave ​

isFakeWave: boolean

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:84

Enable sinusoidal fake wave on leaf bones


fakeWaveSpeed ​

fakeWaveSpeed: number

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:86

Fake wave speed (frequency accumulation rate)


fakeWavePower ​

fakeWavePower: number

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:88

Fake wave global amplitude


fakeWaveCounter ​

fakeWaveCounter: number

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:90

Current fake wave phase counter (accumulated across frames)


collisionScale ​

collisionScale: number

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:92

Global scale multiplier for all collider radii


enableBroadPhase ​

enableBroadPhase: boolean

Defined in: libs/scene/src/animation/joint_dynamics/solver.ts:94

Enable broad-phase pruning before precise collision checks

Released under the MIT License.