Each individual animation may looks nice, but once they're all in a Locomotion Set, they're going to be blended together depending on the linear and angular speeds of the character, so many things may hurt the animation's quality.
Are Animations working correctly ?
First thing first, make sure all the animations do work correctly when individually used in a Motion Behavior. Check that they are cyclic and that each motion and contain one and only one support phase / footprint per channel.
Did you follow the locomotion set creation guidelines ?
The Creating a Locomotion Set page explains how to create a working locomotion set.
Did you check if the motion footprints are correct?
The Setting Footprints on your Motions tutorial explains how to check and fine-tune them. This is crucial to the quality of the Locomotion Behavior output.
Are Animations of the same style ?
Make also sure that all animations in the locomotion set have the same style and can be correctly blended together as stated here.
Is the Locomotion Set correct ?
If using the locomotion still produce animation glitches, the problem might be a badly distributed locomotion set in terms of linear and angular speeds. To check this, it'll be needed to start the simulation and select a character to display the Visual Feedback Tool.
Look out for the Locomotion Behavior and check the Locomotion Database:
A correctly distributed locomotion database
Each of the dot in the visual feedback corresponds to one of the motions in the locomotion set, its coordinates being its angular and linear speeds.
The red dot is the desired linear and angular velocities (the control command), and the triangle in which it stands are the 3 motions that are currently blended together. When the navigation asks for different velocities, the control command will be changed accordingly, and so will the blended animation's weights.
Now when the database has very narrow triangles, it means that any slight change in the control command may bring a wide change in the blending parameters, or even change the currently blended motions ("switching between different motions"), so it's strongly advised to avoid narrow triangles in this database. When narrow triangles are identified, it's useful to also identify the motion files that produce them. This is done by putting the mouse on each point, which should bring a tooltip showing the name of the motion, as well as its angular and linear velocities:
Tooltip information for a motion in the database
Here are some examples of badly configured locomotion set:
Two animation have almost the same linear and angular velocities.
In that case, the two walk animation are different variations of the same animation. They should be configured as variations, check here.
An animation with a very little angular velocity was used together with it's mirror version. That produce a very narrow triangle and should not be done. Only animations with a high enough angular velocity should be used with their mirror version. Check the mirror configuration in the locomotion behavior documentation.
This locomotion set only uses animations that turns on left side but none turning on the right side. Check out this FAQ.
Is acceleration set correctly ?
When blending animations together, the weight of each animation changes accordingly with the maximum acceleration allowed. When the acceleration is too high, it might produce pops in the animation due to weights changing too much in one single frame.
To check if this is the case, find out the frame at which a character's animation 'pop', and select it to to display the Visual Feedback Tool. Check what are the weights of the animation at the frame before the pop, and the frame after the pop. If the difference is too big, then the pop comes from either a big linear or angular acceleration.
Exemple of an acceleration that produces a pop: at one frame, the WalkSlow_Leftfoot animation has a weight of 82%, while it has a weight of 0% at the next frame
To check if the problem is a too bug linear or angular acceleration, look out for the red dot in the locomotion database before and after the "pop":
- if it moves a lot from left to right, the problem is the angular acceleration value;
- if it moves a lot from up to down, the problem is the linear acceleration value.
Change the maximum acceleration value in the locomotion parameters:
The parameters to change are the "Max Linear Acceleration" and "Max Blending Angular Accel."
Is there a synchronization problem ?
Last thing to check when there is an animation pop in the locomotion is the check if there is a discontinuity in replaying the frames of a single animaiton. For this also, find out the frame at which a character's animation 'pop', and select it to to display the Visual Feedback Tool.
But this time, instead of checking the weights of the animations, check for the frame they are playing and make sure there it doesn't jump from one frame to a very different frame in the animation:
The frame currently played by an animation is displayed between the name and the weight (here WalkSlow_Leftfoot is playing frame 5.8 and the animation has a total of 53 frames)
Finally, if only legs are popping but the rest of the body is fine, it might be a Time Warping issue. Try unchecking the option in the Locomotion Attributes to check if it solves the issue.