Blend Nodes

Animation nodes that blend multiple animations together based on a set of criteria.

Choose your operating system:

Windows

macOS

Linux

In the AnimGraph of a character's Animation Blueprint you can use blend nodes to blend multiple source animation poses together to create new animation poses.

animation pose blending example

With each blend node you can input multiple animation poses using the node's pose input pins, to generate a blended pose that will be accessible from the node's output pose pin.

input and output pin nodes

Some Blend Nodes can accept and blend more than two animation poses, with these nodes you can right-click the node in the AnimGraph and select Add Blend Pin to add another pose input pin.

add blend pin to blend nodes

You can also remove additional pose input pins by right-clicking the specific input pin you want to remove and selecting Remove Blend Pin from the context menu.

While using blend nodes, you can control the degree of blending with an Alpha value. You can manually assign a blend node's alpha value, by selecting the variable input node, or the alpha property in the node's details panel, and entering a value. You can also assign a blend node's alpha by connecting an alpha variable node to the alpha input pin in the AnimGraph. An alpha value of zero will typically favor the primary pose, while a value of 1 will favor the secondary pose.

alpha pin on blend nodes

Using more advanced blend nodes that can incorporate additional animation data, you can create unique animation blending results in your project. Here you will find a reference to the available blend nodes you can use to blend animation poses in Unreal Engine.

Blend Nodes

Categorized with a gray title color, standard blend nodes perform simple blends of animation poses based on node specific parameters. Here you can reference a list of the standard blend nodes that you can use in your project to blend animation poses in the AnimGraph

Apply Additive

Both the Apply Additive and the Apply Mesh Space Additive nodes add an additive pose to a base-normal animation pose, based on an alpha value.

apply addivite animation blend node apply mesh space additive animation blend mode

Using the nodes input pins, you can connect a base pose and an additive pose with which to apply.

Apply Additive nodes are also affected by the LOD Threshold system. You can adjust the LOD level threshold that the blend occurs in the Apply Additive and Apply Mesh Space Additive's Details panel.

In addition, you can use a Make Dynamic Additive node, to negatively blend additive animation poses. With this node, you can subtract the additive pose from the base pose to create an output pose.

make dynamic additive animation blend node

In the Make Dynamic Additive node's details panel you can also enable the node to operate in the Mesh Space.

Blend

The standard Blend node is a simple combination of the two input poses that scales the weight of which input is prioritized based on an alpha value from the Alpha input pin.

blend animation blend node

You can connect animation poses to the A and B input pins, and control the degree of blending between the poses with the Alpha pin.

Blend Bone by Channel

With a Blend Bone by Channel blend node you can specify individual bones, in which to apply specific blending transforms.

blend bone by channel animation blend node

In the Blend Bone by Channel's Details panel you can add a Bone Definitions section with (+) Add. After creating a definition, you can define a source bone to pull transform data from, and a Target bone to apply the blend. You can also define what aspects of the transform you want to incorporate in the blend, such as Translation, Rotation and Scale by toggling the available properties. In addition you can define in what Transform Space the transform data is being calculated, such as World Space, Component Space, Parent Bone Space and Bone Space.

The present alpha value will facilitate the weight of the blend.

Blend Multi

With a Blend Multi node, you can blend more than two blend poses, between a range of alpha values.

blend multi animation blend node

In the Blend Multi's Details panel you can also toggle the node to behave as additive with the Additive Node property.

Function Blend Nodes

Categorized with a green title color, function blend nodes perform more advanced calculation-based blends of animation poses based on node specific parameters. Here you can reference a list of the function based blend nodes that you can use in your project to blend animation poses in the AnimGraph.

Blend Poses by bool

The Blend Poses by bool node performs a time-based blend between two poses using a Boolean value as the trigger. When the Boolean reads true, the pose connected to the True Pose input pin is used; when the Boolean is false, the False Pose is used. Each pose has a float value Blend Time that is used to control how long it will take to blend into the pose.

blend poses by bool animation blend node

In the Details panel, you can toggle the Blend Time pins to be visible in the AnimGraph as well as set the Transition Type property to either Standard, Inertialization), or Blend Type.

Blend Poses by int

The Blend Poses by int node performs a time-based blend between any number of poses using an integer value as the key. For each input integer value, the pose associated with that value's input pin is used. For instance, when the integer is set to 0, the pose connected to Blend Pose 0 is used. Each pose has a float value Blend Time that is used to control how long it will take to blend into the pose.

blend poses by int integer animation blend node

In the Details panel, you can toggle the Blend Time pins to be visible in the AnimGraph as well as set the Transition Type property to either Standard, Inertialization), or Blend Type.

Blend Poses by Enumeration (Enum)

The Blend Poses by Enum node performs a time-based blend between poses using an Enumeration (Enum) value as the key. A default pose can be used, and additional poses can be added for the values identified within the enum connected through the Active Enum Value pin. Additionally, each pose has a float value Blend Time that is used to control how long it will take to blend into the pose.

blend poses by enum enumeration animation blend node

In the Details panel, you can toggle the Blend Time pins to be visible in the AnimGraph as well as set the Transition Type property to either Standard, Inertialization), or Blend Type.

Layered blend per bone

With the Layered blend per bone node you can blend between any number of dynamic blend poses based on a defined set of bones.

layered blend per bone animation blend node

In the Details panel of the Layered blend per bone node, you can define the blend mode as either a Branch Filter, which will blend between animation poses or a Blend Mask which will isolate the blends based on the slot.

With the Branch Filter option, you can define indexes of bone sets, by inputting the name of the bone, and the number of children bones, the blend will effect.

With the Blend Mask opton, you can instead define slots with which the blend will occur on preserving the motion of the base pose on any remaining slots.

You also can the ability to toggle the applied Mesh Space Transform blending of Rotation and Scale. As well as a Curve Blend Options property to set curve blend behaviors, and a Blend Root Motion Based on Root Bone property that you can use to toggle whether to incorporate the per-bond blend weight of the root bone when lending root motion.

Inertialization

Inertial blending is a high-performance alternative to traditional animation crossfading that produces natural transitions as a post-process. Once an inertial blend is activated, the source pose is no longer evaluated at all. By contrast, traditional blending evaluates both source and target poses for the duration of the transition to combine them into a blended pose.

inertialization example animations

To use inertial blending, you can add an Inertialization node to the AnimGraph after the source animation blend you want inertially blended.

inertialization node animation blueprint node

The Inertialization node keeps track of pose motion and curve changes so that it can continue moving toward the target animation when an inertial blend is activated. The node is activated by any inertial blend requests connected to its input pose pin. State Machine Transitions, Blend Nodes, Linked Anim Graphs and Linked Anim Layers, can all trigger inertial blends.

The Inertialization node must be connected after the source of the inertial blend request, but does not have to be immediately adjacent. Deferring an Inertialization node closer to the Output Pose node can help reduce or eliminate standard blends from your graph and improve performance. If your AnimGraph contains a Inertialization request but is missing an Inertialization node, a runtime error will be logged in the Message Log panel.

Inertialization overview example

A single Inertialization node can handle many inertial blend requests. The minimum requested blend duration will be used.

When authoring animations and graphs with inertial blending in mind, it's best to begin transitions while the outgoing animation is still in motion. There is no need to return to a neutral pose, as inertial blending will handle smoothly and naturally easing to a rest position. Short blends work best since inertial blending is a post-process for easing motion toward a target animation. Inertial blends can be interrupted with other inertial blends, but try to avoid scenarios that cause continuous interruptions because subsequent blend durations may be trimmed to keep the pose stable.

You can place multiple Inertialization nodes in your graph as needed, and each will handle inertial blend requests from their source pose. This means you can perform inertial blending in different spaces. For example, you may want separate Inertialization nodes for your character's upper and lower body, followed by a Layered Blend per bone node to splice them together into a final pose. You can use inertial blending with additive poses by inserting an Inertialization node before applying to the base pose. For final pose fixups, you will generally run Inertialization before IK, which effectively does inertial blending in IK space.

A Source pose stops being evaluated once inertial blending begins. As a result, Animation Notifies from the source animation Sequence will no longer trigger after inertial blending begins. You may need to refactor existing game logic and Anim Notifies to be compatible with Inertialization.

Request from Blend Nodes

In the Details panel of Inertialization compatible nodes, you can set a Transition Type property to Inertialization. To use inertial blending, the Inertialization node must be placed in the animation graph anywhere after the blending node.

inertial blend request from blend node transition type

Request from State Machine Transitions

A Inertial Blend request can be made by a State Machine. In the Details panel of a Transition Rule, you can set the Blend Logic property to Inertialization.

inertial blend request from state machine transition rule

Request from Linked and Layered AnimGraphs

Inertialization properties can also be defined in an Animation Layers or from a Linked Anim Graph. After selecting a Graph from the My Blueprints panel you can find the Graph Blending section of properties in the Details panel. An Animation Layer can blend in or out, but only via inertial blending. An Inertialization node must be placed anywhere after the Linked Anim Layer node that links this Animation Blueprint. A negative value means the blend time will be determined by the other incoming or outgoing Animation Layer.

inertial blend request from anim layer blend linked anim graph