Skip to content

Documentation / scene / IKSolver

Abstract Class: IKSolver ​

Defined in: libs/scene/src/animation/ik/ik_solver.ts:9

Base class for IK solvers.

Extended by ​

Constructors ​

Constructor ​

new IKSolver(chain, maxIterations?, tolerance?): IKSolver

Defined in: libs/scene/src/animation/ik/ik_solver.ts:24

Create an IK solver.

Parameters ​

chain ​

IKChain

The IK chain to solve

maxIterations? ​

number = 10

Maximum number of iterations (default: 10)

tolerance? ​

number = 0.001

Convergence tolerance in world units (default: 0.001)

Returns ​

IKSolver

Properties ​

_chain ​

protected _chain: IKChain

Defined in: libs/scene/src/animation/ik/ik_solver.ts:11

The IK chain to solve


_maxIterations ​

protected _maxIterations: number

Defined in: libs/scene/src/animation/ik/ik_solver.ts:13

Maximum number of iterations


_tolerance ​

protected _tolerance: number

Defined in: libs/scene/src/animation/ik/ik_solver.ts:15

Convergence tolerance (distance threshold)

Accessors ​

chain ​

Get Signature ​

get chain(): IKChain

Defined in: libs/scene/src/animation/ik/ik_solver.ts:33

Get the IK chain.

Returns ​

IKChain

Methods ​

setMaxIterations() ​

setMaxIterations(value): void

Defined in: libs/scene/src/animation/ik/ik_solver.ts:40

Set maximum number of iterations.

Parameters ​

value ​

number

Returns ​

void


getMaxIterations() ​

getMaxIterations(): number

Defined in: libs/scene/src/animation/ik/ik_solver.ts:47

Get maximum number of iterations.

Returns ​

number


setTolerance() ​

setTolerance(value): void

Defined in: libs/scene/src/animation/ik/ik_solver.ts:54

Set convergence tolerance.

Parameters ​

value ​

number

Returns ​

void


getTolerance() ​

getTolerance(): number

Defined in: libs/scene/src/animation/ik/ik_solver.ts:61

Get convergence tolerance.

Returns ​

number


solve() ​

abstract solve(target): boolean

Defined in: libs/scene/src/animation/ik/ik_solver.ts:71

Solve the IK chain to reach the target position.

Parameters ​

target ​

Vector3

Target position for the end effector

Returns ​

boolean

True if converged, false otherwise


applyToNodes() ​

abstract applyToNodes(weight?): void

Defined in: libs/scene/src/animation/ik/ik_solver.ts:78

Apply the solved positions to the scene nodes as rotations.

Parameters ​

weight? ​

number

Blend weight (0 = original, 1 = full IK)

Returns ​

void

Released under the MIT License.