Stores the current pose for an IK constraint. An IK constraint adjusts the rotation of 1 or 2 constrained bones so the tip of the last bone is as close to the target bone as possible.

See IK constraints in the Spine User Guide.

Static methods

staticapplyOne(bone:Bone, targetX:Float, targetY:Float, compress:Bool, stretch:Bool, uniform:Bool, alpha:Float):Void

Applies 1 bone IK. The target is specified in the world coordinate system.

staticapply(parent:Bone, child:Bone, targetX:Float, targetY:Float, bendDir:Int, stretch:Bool, uniform:Bool, softness:Float, alpha:Float):Void

Applies 2 bone IK. The target is specified in the world coordinate system.

Parameters:

child

A direct descendant of the parent bone.

Constructor

new(data:IkConstraintData, skeleton:Skeleton)

Variables

@:value(0)bendDirection:Int = 0

@:value(false)compress:Bool = false

@:value(false)stretch:Bool = false

@:value(1)mix:Float = 1

@:value(0)softness:Float = 0

@:value(false)active:Bool = false

Methods

update():Void

Applies the constraint to the constrained bones.

getBones():Array<Bone>

The bones that will be modified by this IK constraint.

getTarget():Bone

The bone that is the IK target.

getMix():Float

A percentage (0-1) that controls the mix between the constrained and unconstrained rotation.

For two bone IK: if the parent bone has local nonuniform scale, the child bone's local Y translation is set to 0.

getSoftness():Float

For two bone IK, the target bone's distance from the maximum reach of the bones where rotation begins to slow. The bones will not straighten completely until the target is this far out of range.

getBendDirection():Int

For two bone IK, controls the bend direction of the IK bones, either 1 or -1.

setBendDirection(bendDirection:Int):Void

getCompress():Bool

For one bone IK, when true and the target is too close, the bone is scaled to reach it.

getStretch():Bool

When true and the target is out of range, the parent bone is scaled to reach it.

For two bone IK: 1) the child bone's local Y translation is set to 0, 2) stretch is not applied if {@link #getSoftness()} is

0, and 3) if the parent bone has local nonuniform scale, stretch is not applied.

getData():IkConstraintData

The IK constraint's setup pose data.