Locomotion System Overview

Jul 20, 2008 in
When people see the Locomotion System in action, they sometimes get incorrect ideas about what the system can and cannot. Here is a brief description that can hopefully make things a bit more clear.

The Locomotion System for Unity automatically blends your keyframed or motion-captured walk and run cycles and then adjusts the movements of the bones in the legs to ensure that the feet step correctly on the ground. The system can adjust animations made for a specific speed and direction on a plain surface to any speed, direction, and curvature, on any surface, including arbitrary steps and slopes.

The Locomotion System does not enforce any high level control scheme but rather lets you move your character around by any means you desire. The Locomotion System silently observes the position, alignment, velocity and rotational velocity of your character and deduces everything from that, along with some raycasts onto the ground.

This flexibility means that you can use a CharacterController, a RigidBody (those are standard components in Unity) or something else entirely to move your character around in the world, exactly as you would normally do.

The Locomotion System is not:
  • A physics-based system or active animated ragdoll system.
    The system has no integration with the physics simulation. It is purely kinematic, though it does base the kinematics on some raycasts onto the geometry of the ground.
  • A behavior-based system.
    The system cannot make the character react instinctively to external forces such as being punched, tripping and falling, or being shot. The system only blends and slightly adjusts your existing animations.
  • A unified system that can be used for all animation of a character.
    The system only controls the legs. (The whole body is typically implicitly controlled since the system blends together multiple full body animations. However, this can be overridden by the user with specific animations for the upper body, using the usual means available in Unity.)


Anonymous said...

Hello Rune,

I have a quick question, hopefully you don't mind answering?

What programs do you use to create your characters?

I Know you use maya to model but what others do you use to paint your textures and bump maps?

Im sure later I'll have more questions about the Locomotion System but Im just now starting to use or figure it out .

I thank you for creating something that is seriously beneficial to all unity game creators. Hopefully someday I'll be half as good as you :)


Rune Skovbo Johansen said...

@Michael: I didn't create any of the models myself; they were kindly provided by Unity Technologies and the 4-legged animals by I don't know which software was used to create the models and their textures. I'm sure you can get lots of advise about texturing in the Unity forums though.

If you have any questions about the Locomotion System, feel free to mail me.

Anonymous said...

Thank You Rune :)


Ian S said...

What are the best animation parameters when animating my characters in 3dsmax? im using Biped and physique to skin them, does the locomotion support biped rigged characters?

Rune Skovbo Johansen said...

Ian: I don't know the details of animating in 3ds Max, but the Locomotion System does support biped rigged characters. The character in all the demos is a biped and rigged. :)

By the way, you're commenting on an old post. See the latest here: