Gameplay Animation Showcase 2: Locomotion
I made a diverse locomotion system for pretty normal and unique actions with sub-standard techniques for getting it to feel a little more random. Today I want to showcase some of these states individually and highlight some things that I think are interesting.
Major Goals
- Transitions adjusted between important states with the new Dead Blending transition type.
- Created a Sliding System that gives more velocity the more your character’s facing direction conforms to the normal flow beneath your character.
- Unique control rig features for the hand and legs during sliding to avoid clipping.
- Created a dive-roll system that allows you to descend quickly and redirect your momentum on a dime.
- Created Leaning and Looking Additives that work together nicely.
Minor Goals
- Randomly mirrored left/right for certain states. (works nicely with dead blending) (most noticeable when the character jumps)
- Achieved the feeling of gravity on a one-way blend with diving.
Locomotion States and Idle

The Locomotion States are relatively simple so I'm not going to provide a technical explanation for their implementation. Here's a couple in action.
Various Idle States and idle events that play at random.
The Blendspace for the base movement (walking to jet-running)
Coming to a stop at a high speed
Coming to a stop on ice (I'm pretty happy with how this turned out)
Sliding

Sliding Blendspace
The sliding is really quite simple. The faster you are travelling the more you are leaning back. This is less an animation and more a pose driven by the control rig.
Showcase of the IK solver for the hands in action.
Dead Blending in my project
The highlight of this documentation isn’t the states or animations themselves, but rather the transitions. For a long time in Unreal Engine, there have only been two default blend types, Standard Blend and Inertialization.
Standard Blend is great and works without issues 90% of the time for me, but it's quite simplistic. Inertialization is almost useless in the context of my project because if the transition happens too quickly, it quite commonly breaks. However, Dead Blending works perfectly.
(Dive) > (Roll), Sprint, Slide, Jump > (Dive)....
Where standard Ineartizalition struggles, Dead Blending Shines!
I have found the Dead Blending node a lot more useful in a lot more situations than either of the two old blendtypes because of one primary reason. Extremely different poses blend together cleanly, regardless of transition time.
What makes this important?
Transitions need to happen so quickly in games that oftentimes they lose a sense of meaningful weight. A great example I always think about is the jump.

Jumping in games, more often than not, does not have anticipation of any kind. This is typically because the time frame needed for anticipation is too large making your jump feel slow.
In a game like Fortnite you see it happen so quickly and seamlessly it doesn't even register.
A delayed jump in Elden Ring Nightreign that does weight well for example. (옹발이 ONGBAL on youtube)
You can apply this logic for every single transition that needs to happen in game, which makes Dead Blending extremely meaningful.
How does Dead Blending do this?
Dead Blending works by analyzing velocities and positions on bones at transition time, looking at where they are going (at a specific timestamp past the transition point), and crossfading the result with the desired pose/animation of the oncoming state.
If you want the full read on how it works, read Daniel Holden's documentation on it here for the full explanation. He explains it far better in much more detail.
This means that you can get some very interesting and unique transitions that feel a lot smoother than a typical crossfade. In the future, I'm hoping to create animations with this transition in mind.
Dead Blending in action on the main character of my game, Ark.
Thank you for reading. This one was quite a bit longer, but I think it's justified with how much was covered. If you have any questions or need any tips on making your own systems, feel free to reach out to me on any of my socials!
Please look forward to next week's documentation.