CCDIKSolver

This class solves the Inverse Kinematics Problem with a CCD Algorithm.

CCDIKSolver is designed to work with instances of SkinnedMesh.

Import

CCDIKSolver is an addon, and must be imported explicitly, see Installation#Addons.

import { CCDIKSolver } from 'three/addons/animation/CCDIKSolver.js';

Constructor

new CCDIKSolver( mesh : SkinnedMesh, iks : Array.<CCDIKSolver~IK> )

mesh

The skinned mesh.

iks

The IK objects.

Default is [].

Properties

.iks : SkinnedMesh

The IK objects.

.mesh : SkinnedMesh

The skinned mesh.

Methods

.createHelper( sphereSize : number ) : CCDIKHelper

Creates a helper for visualizing the CCDIK.

sphereSize

The sphere size.

Returns: The created helper.

.update( globalBlendFactor : number ) : CCDIKSolver

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.

.updateOne( ik : CCDIKSolver~IK, overrideBlend : number ) : CCDIKSolver

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.

Type Definitions

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.

.IK

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.

Source

examples/jsm/animation/CCDIKSolver.js