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.