File: CCDIKSolver.md | Updated: 11/15/2025
This class solves the Inverse Kinematics Problem with a CCD Algorithm.
CCDIKSolver is designed to work with instances of SkinnedMesh.
CCDIKSolver is an addon, and must be imported explicitly, see Installation#Addons.
import { CCDIKSolver } from 'three/addons/animation/CCDIKSolver.js';
mesh | The skinned mesh.
---|---
iks | The IK objects. Default is [].
The IK objects.
The skinned mesh.
Creates a helper for visualizing the CCDIK.
sphereSize | The sphere size.
---|---
Returns: The created helper.
Updates all IK bones by solving the CCD algorithm.
globalBlendFactor | Blend factor applied if an IK chain doesn't have its own .blendFactor. Default is 1.0.
---|---
Returns: A reference to this instance.
Updates one IK bone solving the CCD algorithm.
ik | The IK to update.
---|---
overrideBlend | If the IK object does not define blendFactor, this value is used. Default is 1.0.
Returns: A reference to this instance.
This type represents bone links.
index
number | The index of a linked bone which refers to a bone in the Skeleton.bones array.
---|---
limitation
number | Rotation axis.
rotationMin
number | Rotation minimum limit.
rotationMax
number | Rotation maximum limit.
enabled
boolean | Whether the link is enabled or not. Default is true.
This type represents IK configuration objects.
target
number | The target bone index which refers to a bone in the Skeleton.bones array.
---|---
effector
number | The effector bone index which refers to a bone in the Skeleton.bones array.
links
Array.<CCDIKSolver~BoneLink> | An array of bone links.
iteration
number | Iteration number of calculation. Smaller is faster but less precise. Default is 1.
minAngle
number | Minimum rotation angle in a step in radians.
maxAngle
number | Minimum rotation angle in a step in radians.
blendFactor
number | The blend factor.