Upgrading the Locomotion System in Unity using Playables API
Upgrades All Round
I spent a long time in Unity re-implementing the old Locomotion System which uses cycle timing to correctly position the feet depending on the speed of the player's movement.
I originally showed off the early implementation a while ago on Twitter but now I've finished cleaning the code and will release it to our members via the Asset Area:
This implementation takes the core functions and re-implements them using the Playables API from Unity. Also it now supports a step up from the Legacy animation settings to Generic animation, which allows for use of the same animations between rigs now, something which was missing from the original Locomotion System.
The first video illustrates how the new system allows you to seamlessly bind the character motion into Cinemachine just by keyframing the character controller to move from one point to the other (make sure it's a reasonable human speed otherwise the legs won't look good!)
This is a great way to allow the player to seamlessly blend from a cutscene straight into gameplay.
The second video shows how there is a blending system in place for layering combat animations on top of the base locomotion system, allowing for this demo of swinging a sword.
Download Locomotion System
You can download the complete project if you're a member of Filmstorm in the Asset Area here:
This project is supported by the current members of filmstorm.net.
It should be noted, as this is a port and upgrade of the original Locomotion System if you need help with the actual locomotion functions it would be better to ask the Unity team that supports it.