Work In Progress
Motion-Matching Locomotion Controller for Unity
The Locomotion Controller combines (and requires) the fantastic Motion Matching for Unity (MxM) asset and Kubold's Movement Animset Pro with custom animations and code to provide realistic AAA-grade crouch, walk, run, sprint, procedural jumping, falling, and landing for your games and projects without having to learn how to configure motion matching yourself.
Integration with Game Creator 2 is already in the works (TBD whether that will be a separate asset or just included in the main controller). Here is a video example of the GC1 integration that shows switching back and forth between native GC1 locomotion and motion-matching locomotion:
- If you don't have Movement Animset Pro, you can instead use the mocap-based animations provided with the Motion Matching asset.
- Strider: I recommend strider, as it creates a much smoother transition between idle, walk, run, and sprint states
- RootMotion FinalIK: The configuration wizard can also automatically configure Final IK's Full-Body Biped IK and Grounder components to allow proper foot placement on stairs and uneven terrain, as shown below. Without FinalIK, the stairs behavior shown is not achievable.
- Idles, crouch, walk, run, sprint
- Procedural jump, with fall and landing detection
- Automatic landing variants: normal, hard landing with clear forward path (front roll), hard landing with obstructed path (stationary landing to idle)
- Configuration wizard to create new fully-configured characters from your models or modify existing characters in your scenes
The parkour controller is a completely automatic parkour solution. If you put any object in your level and it's on a layer that allows climbing/parkour (via a configurable layer mask in the parkour controller), it will be automatically detected and your characters will vault, mantle, and jump off these obstacles, ledges, and walls.
Procedural jump and landing variations are included.
The parkour controller is built to integrate directly onto our Locomotion Controller, but can also be used independently.
Requests are always welcome, much more to come!