Blend Spaces

Blend Spaces are graphs where you can plot any number of animations to be blended between based on the values of multiple inputs.

Choose your operating system:

Windows

macOS

Linux

Blend Spaces are assets that allow multiple animations or poses to be blended by plotting them onto either a one or two-dimensional graph. This graph can then be referenced within Animation Blueprints where the blending can be controlled by gameplay input or other variables. By using Blend Spaces, virtually any type of blending arrangement can be used for your animations.

This document provides an overview of Blend Spaces, their different types, and their setup.

Prerequisites

  • Your project has a Skeletal Mesh with various directional or similar Animation Sequences imported.

Blend Space Overview

Blend Spaces are assets where you specify animations along a graph at various points, called samples. The overall animation is calculated by blending between the points on the graph based on input values for each axis. For example, a locomotion system that blends between directional movement and idle animations can be created.

blend space overview

Blend Space Creation and Types

There are different types of Blend Spaces, which provide different functionality in either the asset editor, or how they are used within Animation Blueprints.

The following Blend Space types can be created by clicking on the Add (+) button in the Content Browser, then selecting from the Animation menu:

  • Aim Offset

  • Aim Offset 1D

  • Blend Space

  • Blend Space 1D

create blend space

Blend Space

Regular Blend Spaces are the base variety of Blend Space, which provides all the main functionality of blending animations along the graph. They are intended to be referenced within Animation Blueprints as a base layer, with secondary animations proceeding from it.

blend space type

Aim Offset

Aim Offsets are Blend Spaces meant to contain mesh-space additive animations as their samples. Typically, these are used to create weapon or other look-at aiming blend spaces. Aim Offset Animation Blueprint nodes are intended to receive an input pose along with the normal axis inputs

aim offset type

Refer to the Aim Offsets page for more information on how to use them.

TopicIcon.png

Aim Offset

An Aim Offset is a type of Blend Space that uses additive poses, typically for creating aim-spaces.

An Aim Offset is a type of Blend Space that uses additive poses, typically for creating aim-spaces.

1D

Both Blend Spaces and Aim Offsets also support single-axis (1D) variants. Typically these Blend Spaces are used when you only need a single axis of blending. In the case of Blend Space 1D or Aim Offset 1D, the graph only provides a horizontal axis.

blend space 1d

Although 1D Blend Spaces are available, normal 2D graphs can also be used in a one-dimensional way by only using a single axis for your sample placement. This way, you can expand the Blend Space from 1D to 2D if needed.

Blend Space Setup

After creating and opening your Blend Space type, proceed with the following setup.

Defining Axis Names and Ranges

In most cases, you will want to define the names and value ranges of the axes used in your Blend Space. To do this, navigate to the Asset Details panel and change the following properties located in the Axis Settings category:

  • Name

  • Minimum Axis Value

  • Maximum Axis Value

blend space axis value

Depending on the type of Blend Space, you may want to use different value scales, such as -90 to 90, or -180 to 180 if you are creating an Aim Offset and want your grid to match rotation values.

Adding Animations to the Graph

You can populate the graph with animations by dragging them from the Asset Browser or Content Browser onto the graph. Holding Shift will cause the animations to snap to the grid points which can be useful for alignment. Depending on what kind of Blend Space you want to create, these can either be looping animations or static poses.

blend space add animation

Because 1D Blend Spaces only have a single axis for input, you can only apply animations along that single axis.

blend space 1d graph

In this example, the vertical and horizontal axes are mapped to the direction and speed, respectively. Several cycle-based animations are then set up to blend appropriately based on the values of these inputs resulting in the final pose you see in-game.

blend space graph axis

Referencing in Animation Blueprints

Once you have a completed graph, you can reference and manipulate the Blend Space in Animation Blueprints. To add your Blend Space, right-click in the AnimGraph and locate your Blend Space. You can also drag it from the Content Browser into the graph. Doing this creates a Blend Space player, which references the asset

blend space animation blueprints

Refer to the Blend Spaces in Animation Blueprints page to learn more about using Blend Spaces in Animation Blueprints.

TopicIcon.png

Blend Spaces in Animation Blueprints

Start using Blend Spaces in Unreal Engine by referencing or creating them in Animation Blueprints.

Start using Blend Spaces in Unreal Engine by referencing or creating them in Animation Blueprints.

Editor Overview

Regardless of the Blend Space type being used, the following editor is displayed when opening one of these assets:

blend space editor

  1. Asset Details, where you can set properties and other settings for this Blend Space.

  2. Viewport, which displays the Skeletal Mesh and current playing animation according to the graph.

  3. Asset Browser, which can be used as a convenient location to drag animations into the graph.

  4. Blend Graph, where you plot your animations along either a one or two-dimensional graph and preview the blending functionality.

Asset Details

The Asset Details panel contains properties and other settings for this Blend Space asset.

asset details

Name

Description

Use Grid

Enabling this will use the legacy grid mode for blending, as opposed to the default triangulation method. Typically, you would only use the grid if you are performing specific blending arrangements, such as using Wrap Input. Otherwise, in most cases you should leave this disabled and instead use triangulation for more accurate blend results.

Preferred Triangulation Direction

Controls the triangular blend angle between samples. This will only affect samples that are placed in a uniform manner and only if Use Grid is disabled.

  • None will cause the triangles to have the same angle along the entire graph. Typically, you should not pick this option if you are creating a symmetrical Blend Space as the blending result will be different on each side.

    triangulation direction none

  • Tangential will cause the triangles to face outward from the graph origin.

    triangulation direction tangential

  • Radial will cause the triangles to face inward to the graph origin.

    triangulation direction radial

Axis to Scale Animation

If Smoothing Time is being used, then this specifies the axis on which to scale the animation playback speed. In most cases this would be used for locomotion animations where you would specify the axis for speed.

Name

The name of the axis to display in the Blend Graph and on the Blend Space Animation Blueprint node.

Minimum Axis Value

The minimum displayed value for this axis.

Maximum Axis Value

The maximum displayed value for this axis.

Grid Divisions

The number of divisions on this axis. Higher values here will result in more precise blending results. Odd numbers will also provide different blending results from even numbers. If Use Grid is disabled, then this will only cause cosmetic changes for the grid.

Snap to Grid

Enables snapping to the Grid Divisions when moving animation points along this axis. Holding Shift will also temporarily enable snapping for all axes.

Wrap Input

When enabled, the input value for this axis can exceed the Minimum and Maximum Axis Values. When this occurs, the Blend Space will treat the axis as circular and convert the input to the inverse value on the other side. If you enable this property, ensure the animations on either end of the axis are similar to prevent popping.

Smoothing Time

The time in seconds for this axis to blend between different inputs. A value of 0 will cause no time blending to occur. You can preview the blend within the graph by observing the secondary crosshair moving independently of your preview point.

smoothing time

Smoothing Type

Determines which easing function is used if Smoothing Time is used. You can select from the following:

  • Averaged

  • Linear

  • Cubic

  • Ease In/Out

  • Exponential

  • Spring Damper

Damping Ratio

When using Spring Damper for the Smoothing Type, this determines how much damping there is. Values less than 1 will result in overshoot, which can make some motions look more natural.

blend space damping ratio

Max Speed

The maximum rate of change of this axis value when smoothing. Only used when the Smoothing Type is set to Spring Damper or Exponential. If set to 0, then blending speeds can be limitless.

Analysis

You can specify a function to be used per axis to analyze and automatically place the samples in the Blend Space. Refer to the Blend Space Analysis page for more information.

TopicIcon.png

Blend Space Analysis

Accurately calculate and place your Blend Space samples using Blend Space Analysis.

Accurately calculate and place your Blend Space samples using Blend Space Analysis.

Blend Samples

This section lists all the samples involved in the Blend Space, allowing their details to be modified or deleted. You can also preview these same properties by right-clicking on the sample in the Blend Graph.

Weight Speed

This controls the speed at which the individual sample weights can change. A value of 2.0 means that a sample can have its weight change from zero to one in half a second. A value of 0.0 disables this feature, unless you are using Per Bone Overrides. In general, do not use this in conjunction with Smoothing Time or Smoothing Type.

Smoothing

Enables easing in and out of the Weight Speed. In general, do not use this in conjunction with Smoothing Time or Smoothing Type.

Per Bone Overrides

An array where you can specify different Weight Speeds for Bones to blend at a different rate. Bones specified here will also include all descendants.

Preview Base Pose

If you are using additive animations in a Blend Space or Aim Offset, then you can specify a base animation here to preview the additive animations from.

Notify Trigger Mode

The current mode used by this Blend Space to control how Animation Notifies trigger when blending between multiple samples. You can select from the following:

  • All Animations, which will trigger all notifies.

  • Highest Weighted Animation, which will only trigger the notifies from the sample with the highest weight.

  • None, which will cause no notifies to trigger.

Blend Graph

The Blend Graph is the primary interaction panel within a Blend Space. Here you will place and manipulate animation samples, preview the blending behavior, and debug blending problems.

blend space graph

Toolbar

Clicking Show Triangulation enables or disables the triangulation view. This button only appears if Use Grid is disabled from the Asset Details panel, which enables triangulation as the blend method.

blend space triangulation

Clicking Show Samples enables each sample to display its name.

blend space sample name

You can stretch the graph to fit the panel by clicking Stretch Grid to Fit. Disabling this will cause the graph to maintain relative scale based on each axis range.

blend space graph stretch

If a sample is selected, it will display its axis coordinates in the toolbar, which can be manipulated.

blend space sample values

These toolbar settings are also accessible in the context menu when right-clicking in the graph.

blend space graph context menu

Interaction

Samples can be moved by dragging them within the graph. Holding Shift will snap them to the grid increments defined in the Grid Divisions property for that axis.

blend space move sample

Right-clicking a sample will show a context menu where you can edit its Blend Sample properties.

blend space sample context menu

Previewing

Holding CTRL and moving your cursor within the graph will preview the blend at that position, which is marked by a green crosshair. If you are using Smoothing Time properties, then a secondary green crosshair will also appear, allowing for the preview of both the target position and smoothing.

preview blend space

Holding CTRL + ALT will also enable an influence display, where you can see the different sample weights update relative to the preview point.

blend space preview influences

Debugging

If samples are placed in such a way that it will cause very thin triangulation between points, then that triangle will display in red to denote that it should be adjusted. Typically this can happen when performing a Blend Space Analysis.

blend space debugging

If Use Grid is enabled, then samples that are awkwardly placed will indicate this error with a red highlight around the sample point. This also indicates that the highlighted sample will not contribute to the Blend Space properly.

blend space debugging