Language:
Page Info
Engine Version:

FABRIK

Choose your OS:

Forward And Backward Reaching Inverse Kinematics (or FABRIK) is an IK solver that works on a chain of bones of arbitrary length (a minimum of 2 links).

You can use FABRIK, by first adding the FABRIK node to the AnimGraph of your Animation Blueprint (pictured above).

Once added, in addition to the Component Pose, the node takes in an Effector Transform which can be an absolute Transform or a relative one (based on another bone from the same Skeleton); the settings for the End Effector are also very similar to the TwoBone_IK node.

In order to determine the current strength of the Skeletal Control applied, the FABRIK node takes in a float Alpha which can be set on the node itself or set through a float variable.

Inside the Details panel for the FABRIK node you will find additional settings which can be used to further adjust how the solver functions:

FABRIK_Details.png

In the End Effector section, you determine the target location and rotation.

Property

Description

Location, Rotation, Scale

Coordinates for target location of tip bone - if EffectorLocationSpace is bone, this is the offset from Target Bone to use as target location (can also be set as a Pin on the node).

Effector Transform Space

Set the position of the bone in SkeletalMeshComponent's reference frame.

Effector Transform Bone

If Effector Transform Space is bone, this is the bone to use.

Effector Rotation Source

Control the Rotation (maintain component space, local space or match end effector target rotation).

In the Solver section, you define the chain of bones to use, from the Root to the Tip. The Tip will try to reach the end effector location.

Property

Description

Tip Bone

Set the Tip Bone (choose from available bones).

Root Bone

Set the Root Bone (choose from available bones).

Precision

Tolerance for final tip location delta from EffectorLocation. The lower, the more precise it gets to the End Effector target, but the more expensive.

Max Iterations

Maximum number of iterations allowed, to control performance and make sure edge cases will not take frame rate down.

Enable Debug Draw

Toggle drawing of axes to debug joint rotation.

In the Settings section, you set the strength applied.

Property

Description

Alpha

Current strength of the Skeletal Control (can also be set as a Pin on the node).

Alpha Scale Bias

Set the Minimal and Maximal input scale values.

Node

Can be used to reset the Effector Rotation Source if it is set to something other than Local Rotation Relative to Parent.