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.