Two Bone IK

Describes how the Two Bone IK control can be used to apply IK to a 3-joint chain.

Windows
MacOS
Linux

The Two Bone IK control applies an Inverse Kinematic (IK) solver to a 3-joint chain, such as the limbs of a character.

node_twobone.png

Below, a series of Two Bone IK controllers are used, along with Hand IK Retargeting to control how the character holds a weapon.

Variables (HandIKWeight) are used to drive the�Joint Target Location�properties on the controller for the�hand_l�and�hand_r�bones of our character. By adjusting the�value�we can determine how the character holds the weapon without having to hand-animate different poses based on different characters.

The AnimGraph node network is shown below which you can copy and paste into your own Animation Blueprint.�

Based on your own setup, you may need to assign different joints and (or) animations.

Copy Node Graph

The example used here can be further explored in the�Animation�map of�the�Content Examples�project�available from the Learn Tab of the Epic Games Launcher.

Two Bone IK Properties

The following properties are available within the�Details�panel for the Two Bone IK node:�

Property

Description

IK

IK Bone

Name of the bone to apply the IK solver to. This should be the bone at the end of the bone chain, i.e. the ankle or wrist bone.

Stretch Limits

X

The ratio of the Max Limb Length, which is used to determine when to scale the bones.

Y

The maximum allowable amount of scaling of the translation component.

Allow Stretching

If true, allows the bones to be stretched.

End Effector

Effector Space Bone Name

The name of the bone to use as the effector location when Effector Location Space is set to BCS_BoneSpace.

Take Rotation from Effector Space

If enabled, the Rotation of the effector (component, parent, or bone) is applied to the IK Bone.

Maintain Effector Rel Rot

This is overridden when Take Rotation from Effector Space is enabled.

Effector Location Space

The reference frame for the Effector Location.

Value

Effect

Translation

The XYZ component of translation on the target bone.

Rotation

The XYZ component of rotation on the target bone.

Scale

The XYZ component of scale on the target bone.

Joint Target

Joint Target Location Space

The reference frame for the Joint Target Location.

Value

Effect

Translation

The XYZ component of translation on the target bone.

Rotation

The XYZ component of rotation on the target bone.

Scale

The XYZ component of scale on the target bone.

Joint Target Space Bone Name

The name of the bone to use as the joint target location when Joint Target Location Space is set to BCS_BoneSpace.

The following pins are exposed by default on the�Two Bone IK node:�

Pin

Description

Input Pins

Effector Location

A Vector specifying the location effector in the Effector Location Space.

Joint Target Location

A Vector specifying the location joint target in the Joint Target Location Space.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback