Blend spaces are one of the supported animation types in Motion Symphony, along with sequences and composites. However, it is very important to understand the why and how blend spaces are used with Motion Symphony as it differs significantly from traditional animation. In fact, once the data is pre-processed, they aren’t even treated as blend spaces, rather as blended animation sets sampled from a blend space. With this in mind they work slightly differently and there are some limitations.
Note: For the majority of cases, blend spaces are only necessary for cut clip workflows. Mocap users may not require blend spaces for coverage provided their animations created correctly.
The main purpose for using blend spaces in motion matching is to cover obvious gaps in animation. Motion matching can only ever play animations that it is provided and cannot maintain consistent blends on it’s own. However, blend spaces can be used to assist with this.
For example, consider the following animations; RunFwdLoop, RunArcLeft, RunArcRight. If these three animations were used with motion matching as plain sequences you would experience abrupt transitions between the character running straight, arcing left and right. Instead of a smooth transition between them based on the user’s input, it would snap harshly as the blend time is very short. However, if we instead use a blend space as the source animation we can generate poses at evenly spaced sample points throughout the blend space to achieve a smooth result and improve coverage.
The most important setting to understand for blend spaces in motion matching is the sample spacing. This is the spacing along the blend space axis’ that samples will be pre-processed to make poses. Each sample within the blend space is treated as a separate animation with it’s own set of pre-processed poses.
When selecting a blend space in the Motion Data editor, you will be presented with a setting in the contextual details panel that is specific to Blend Spaces. This ‘Sample Spacing’ allows you to define how dense the samples will be taken along each axis of the blend space.
The sample spacing values are of range 0 to 1, where 1 represents the full length of the axis on a blend space. In the above example, the spacing on the X axis of 0.1 means there will be samples taken at every 10% interval of the blend spaces (i.e. 0, 0.1, 0.2, 0.3, …. , …. , 0.9, 1.0). The Y axis shows a much wider spacing of 50% meaning there will be samples at Y == 0, 0.5 and 1.0. The samples are visualized in the below illustration.
Note: It is recommended to only use one axis of a blend space. To eliminate an axis set its sample spacing to > 1.
The spacing of samples is dependent on your animations and your desired level of smoothness. Experiment with it until you get the desired results.
8-Way Strafe Movement
8-way strafe movement is a very common use case for blend spaces. However, it can be very destructive dependent on the quality of the animations and how it is used. Leg crossover is a particularly common problem. With this in mind, you should never try to create 8-way movement in Motion Symphony with a single blend space. Instead, split the blend space into 4 separate blend spaces that each represent a cardinal direction.
North Blend Space:
South Blend Space:
East Blend Space:
West Blend Space:
This avoids the awkward blends that often occur in the middle of these kinds of blend spaces and reduces the likelihood of destructive blending.
Note: Depending on your game and your desired animation setup, you may also desire different versions of east and west blend spaces to compensate for pelvis twist when going from one direction to the other.
Don’t Overdo It
Blending animations is risky because it doesn’t necessarily create a realistic result and it is almost always destructive to the animation. Blending arc running animations is relatively safe because the the movement is very similar but if you start to blend opposed animations you may not get the result you desire.
As a general rule of thumb, try to use only one axis of a 2D blend space. This will help reduce the amount of destructive blending. Avoid trying to make 8-way movement in a single blend space.
There are some limitations to keep in mind when considering blend spaces in the motion matching node:
All animations must be the same length
All animations bust be looping