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.