Skip to content

@orillusion/core


Class: CCDIK

Defined in: src/components/anim/ik/CCDIK.ts:110

Cyclic Coordinate Descent IK (CCDIK).

Iteratively rotates each bone in the chain (end-effector toward root) so the chain tip approaches the target. Unlike TwoBoneIK, CCDIK handles arbitrary chain lengths — useful for spines, tails, hair tentacles, or any "look-at" animation that needs to bend through multiple joints.

Textbook CCD: for each iteration, walk the chain from tip-1 toward root and at each joint rotate to align the (joint→tip) vector with (joint→target). Convergence is fast for short chains (≤8 bones).

Constructors

Constructor

new CCDIK(cfg): CCDIK

Defined in: src/components/anim/ik/CCDIK.ts:149

Parameters

cfg

CCDIKConfig

Returns

CCDIK

Properties

name

name: string

Defined in: src/components/anim/ik/CCDIK.ts:111


effector

effector: string

Defined in: src/components/anim/ik/CCDIK.ts:112


links: CCDIKLink[]

Defined in: src/components/anim/ik/CCDIK.ts:113


target

target: Object3D | Vector3

Defined in: src/components/anim/ik/CCDIK.ts:114


iterations

iterations: number

Defined in: src/components/anim/ik/CCDIK.ts:115


damping

damping: number

Defined in: src/components/anim/ik/CCDIK.ts:116


threshold

threshold: number

Defined in: src/components/anim/ik/CCDIK.ts:117


weight

weight: number

Defined in: src/components/anim/ik/CCDIK.ts:118

Accessors

chain

Get Signature

get chain(): string[]

Defined in: src/components/anim/ik/CCDIK.ts:142

Convenience accessor — full bone name list root→tip (links reversed + effector last).

Returns

string[]

Methods

solve()

solve(animator): void

Defined in: src/components/anim/ik/CCDIK.ts:166

Parameters

animator

AnimatorComponent

Returns

void