Blend Nodes

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

Windows
MacOS
Linux

Blend Nodes are used to blend multiple animations together. These nodes are only available to be placed in the Anim Graph of an Animation Blueprint. Each blend node takes in multiple poses and an alpha or weight value that is used to calculate the weighting for each pose in the final output. Some blend nodes may be more complex than others and require additional data to be input.

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.

ApplyAdditive.png

Pin

Description

Input Pins

Base

The normal pose to use as the base.

Additive

The additive pose to be blended on top.

Alpha

A float value in the range [0.0, 1.0] to use as the alpha value. This determines how much influence the additive pose imparts. A value of 0.0 means the Additive pose is not added to the Base input pose at all, while a value of 1.0 means the Additive pose is added fully to the Base input pose.

Output Pins

Pose

The final pose after the blending has been applied.

Apply Additive nodes are also affected by the LOD Threshold system introduced in 4.11. You can find the setting for this in the Details panel for the Apply Additive node.

perf.png

Property

Description

LOD Threshold

This is the max Level of Detail (LOD) that this node is permitted to run on. For example: if you have LOD Threshold set to 2, it will run until LOD 2, but disable itself once the component's LOD becomes 3.

Blend

The standard Blend node is a straight mixing of the two input poses based on an alpha input.

Blend.png

Pin

Description

Input Pins

A

The first pose to be blended.

B

The second pose to be blended.

Alpha

A float value in the range [0.0, 1.0] to use as the alpha value. This determines the weighting of the two poses. A value of 0.0 gives full weighting to the A input pose, while a value of 1.0 gives full weighting to the B input pose.

Output Pins

Pose

The final pose after the blending has been applied.

Blend Poses by Bool

The Blend Poses by bool node performs a time-based blend between two poses using a Boolean value as the key. When the Boolean reads true, the pose connected to the true 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.

BlendPosesByBool.png

Pin

Description

Input Pins

Active Value

This is the input Boolean that decides which of the two poses to use.

True Pose

Takes in a pose that will blend when the Boolean is set to true.

False Pose

Takes in a pose that will blend when the Boolean is set to false.

True Blend Time

Defines the amount of time needed to blend into the true pose.

False Blend Time

Defines the amount of time needed to blend into the false pose.

Output Pins

Pose

The final pose after the blending has been applied.

In the Details panel, you can show/hide the Blend Time pins as well as set the Transition Type (Standard or 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.

BlendPosesByInt.png

To create additional Blend Pose inputs, right-click the node and choose Add Blend Pin from the context menu.

AddBlendInput.png

Inputs can be removed by right-clicking the desired input and choosing Remove Blend Pin.

Pin

Description

Input Pins

Active Child Index

This input int determines which of the poses to use.

Blend Pose X

Takes in a pose that will blend when the Active Child Index is set to X.

Blend Time X

Defines the amount of time needed to blend into the X pose.

Output Pins

Pose

The final pose after the blending has been applied.

In the Details panel, you can show/hide the Blend Time pins as well as set the Transition Type (Standard or Inertialization ), or Blend Type .

Blend Poses by Enum

The Blend Poses by Enum node performs a time-based blend between poses using an Enumuration (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. Additionally, each pose has a float value Blend Time that is used to control how long it will take to blend into the pose.

BlendByEnum.png

Pin

Description

Input Pins

Active Enum Value

The currently selected pose defined by the attached enum or index value.

Default Pose

The default pose to use.

Additional Poses

Additional poses based on the values within the specified enum.

Blend Time

Defines the amount of time needed to blend into the specified pose.

Output Pins

Pose

The final pose after the blending has been applied.

In the Details panel, you can show/hide the Blend Time pins as well as set the Transition Type (Standard or Inertialization ), or Blend Type .

Layered Blend per Bone

The Layered blend per bone node performs a masked blend that only affects a specific subset of the bones in the Skeleton. For instance, if you wanted to apply an animation to a character only from the waist up, this could be done using Blend Per Bone.

Blend Nodes - Blend Per Bone

Pin

Description

Input Pins

BasePose

The first pose to be blended.

BlendPose

The second pose to be blended.

BlendWeight

A float value in the range [0.0, 1.0] to use as the alpha value to determine how much influence the additive pose imparts. A value of 0.0 means the Additive pose is not added to the Base input pose at all, while a value of 1.0 means the Additive pose is added fully to the Base input pose.

Add Pin

Creates another Blend Pose and Blend Weight input.

Output Pins

OutPose

The final pose after the blending has been applied.

Slot

Slotnode.png

The Slot node plays the resultant animation from a given animation slot.

For more on using Slots with the Animation Montage system, see Animation Montage .

Inertialization

Above, waving continues through a traditional crossfade on the left but ends more naturally using inertial blending on the right.

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. To use inertial blending, your animation graph must contain an Inertialization node.

Inertialization.png

The Inertialization node is placed in your graph anywhere after the source of the inertial blend request. 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 flowing into its source pose. State Machine Transitions, Blend Nodes, Linked Anim Graphs, and Linked Anim Layers can all trigger inertial blends, as shown below.

Node_TransitionType.png

Above, a Blend Poses by bool node has its Transition Type set to Inertialization. To use inertial blending, the Inertialization node must be placed in the animation graph anywhere after the Blend Poses by bool node.

In the image below, two Transition Rules have their Blend Logic set to use Inertialization. To use inertial blending, the Inertialization node must be placed in the animation graph anywhere after the State Machine node that contains these transitions.

StateMachine_Transition.png

For more information on using inertial blending within State Machines, see Transition Rules .

Below, an "Upper Body" Animation Layer is selected, and Graph Blending options are exposed 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.

LinkedAnimGraphLayer.png

The Inertialization node must be wired somewhere after the source of the inertial blend request, but it doesn't have to be immediately adjacent. You can defer inertial blending as much as you want by wiring the Inertialization node closer to the Output Pose. This can help reduce or eliminate standard blends from your graph and improve performance. If your graph is missing an Inertialization node, a runtime error will be logged in the Message Log window.

Inertialization_Graph.png

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.

Keep in mind that the source pose stops being evaluated once inertial blending begins. Animation Notifications from the source sequence will no longer trigger at that point because playback has ceased. You may need to refactor existing game logic and notifies to be compatible with Inertialization.

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