Skip to content

Documentation / scene / ControllerConfig

Interface: ControllerConfig

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:81

Top-level configuration for the physics controller

Properties

gravity

gravity: Vector3

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:83

Global gravity vector


windForce

windForce: Vector3

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:85

Global wind force vector applied to all dynamic points


relaxation

relaxation: number

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:87

Number of constraint relaxation iterations per substep. Higher = more stable but slower


subSteps

subSteps: number

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:89

Number of simulation substeps per frame. Higher = more stable at cost of performance


rootSlideLimit

rootSlideLimit: number

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:91

Max system-local root slide distance retained after root motion. Excess is applied to physics state. -1 = unlimited


rootRotateLimit

rootRotateLimit: number

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:93

Max root bone rotation angle (degrees) per substep. Excess is distributed. -1 = unlimited


constraintShrinkLimit

constraintShrinkLimit: number

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:95

Upper limit for horizontal/shear constraint shrink power. Prevents over-compression


blendRatio

blendRatio: number

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:97

Global blend ratio between physics and animation [0-1]. 0 = full physics, 1 = full animation


stabilizationFrameRate

stabilizationFrameRate: number

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:99

Target frame rate for stabilization (currently unused, reserved)


isFakeWave

isFakeWave: boolean

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:101

Enable sinusoidal fake wave effect on leaf bones


fakeWaveSpeed

fakeWaveSpeed: number

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:103

Fake wave global speed (accumulates over time)


fakeWavePower

fakeWavePower: number

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:105

Fake wave global amplitude multiplier


enableSurfaceCollision

enableSurfaceCollision: boolean

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:107

Enable triangle-based surface collision (cloth vs colliders)


enableBroadPhase

enableBroadPhase: boolean

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:109

Enable broad-phase pruning before precise collider tests


preserveTwist

preserveTwist: boolean

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:111

Preserve each joint's initial local twist (axial roll) after physics simulation


angleLimitConfig

angleLimitConfig: AngleLimitConfig

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:113

Post-simulation angle limiting between parent-child bones


curves

curves: PhysicsCurves

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:115

Depth-based physics parameter curves


constraintOptions

constraintOptions: ConstraintBuildOptions

Defined in: libs/scene/src/animation/joint_dynamics/controller.ts:117

Which constraint types to generate and their collision flags

Released under the MIT License.