Choose your operating system:
Windows
macOS
Linux
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:
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. |