For my Master's Thesis project in 2009 I developed a Locomotion System that can make animated human or animal characters walk and run on any uneven terrain including arbitrary steps and slopes. The Locomotion System gives animators and game programmers maximum flexibility and control while requiring a minimum of work to use. The Locomotion System is developed for the Unity game engine and is free to use with Unity game projects.
The Locomotion System on the Unity Asset Store
Below you can see video demos, get the thesis PDF, and read posts written during development of the project.
Automated Semi-Procedural Animation for Character Locomotion
Master's Thesis
Department of Information and Media Studies
Aarhus University
Rune Skovbo Johansen
May 25, 2009
Automated Semi-Procedural Animation for Character Locomotion
Video demos
A video with voice-over demonstrating the capabilities of the now released Locomotion System, including the new features that enables it to be used with 4-legged animals:
This video explains the motion analysis part of the Locomotion System, which fully automatically calculates speed, direction, timing of foot liftoff and landing, and more:
Reception, influence and citations
I presented the Locomotion System in talks at the Unite 2008 conference where it was later referred to as a crowd favorite, as well as at GDC 2009 where it was enthusiastically received as well.
The Locomotion System was used in the Bootcamp example project that was included with Unity 3.0. I'm not aware if it has been used directly in any shipped games.
The strife retargeting system developed for Half-Life Alyx by Joe van den Heuvel et al was based in large parts (his words) on my 2009 thesis.
I didn't pursue a carreer in academia, but my master's thesis ended up being cited in a fair amount in academic articles, as tracked by Google Scholar:
20 blog posts related to Locomotion System
Procedural Animation Increases Engagement
A new study confirms that procedural animation in a game, such as the Locomotion System I developed for my Master's Thesis, can improve not only the visual impression of the game, but also increase the overall player engagement significantly. I was contacted some some ago by Chelsea Hash, a digital media student from the Polytechnic Institute of New York University. She had just finished her own Master's Thesis ...
Master's Thesis now online
My Master's Thesis is now finally online: Automated Semi-Procedural Animation for Character Locomotion I would have made it available earlier, but the University took three months reviewing it, and I wanted them to be done with it first. The 114 page thesis thoroughly discusses almost all parts of the implemented system and compares the used techniques and methods with related academic work on the subject. Here's the abstract: ...
Fully Automated Blending, Revisited
One of the things that makes the Locomotion System easy to setup and use is the fact that it automatically analyzes the velocities of all the input walk and run cycles and plots them into a velocity map. At runtime the system automatically assign appropriate blending weights to the animations, such that the closest neighboring animations (in terms of their velocities) get the highest blending weights. ...
Locomotion System GDC 2009 Slides
My lecture at GDC about my Locomotion System went really well I think. I've had some requests for the slides, and they're available here: Dynamic Walking with Semi-Procedural Animation (PDF, 16 MB) Note that the presentation included quite a few videos which are not in the above slides, so a few points may not come properly across if you did not see the presentation at GDC. GDC may at some point make a recording of the slides available, complete with audio. I don't know if that would also include the videos I presented. I'm not so sure of the details. If anybody finds out, please let me know! ...
Locomotion System at GDC 2009 update
The Game Developers Conference 2009 is very close now and I will be doing a 60-minute lecture in the Programming track on the subject of: Dynamic Walking with Semi-Procedural Animation (Follow the link to see the session description on the GDC website.) Time: Friday (March 27, 2009), 4:00pm - 5:00pm Location: Room 2018, West Hall ...
Locomotion System at GDC 2009!
The Game Developers Conference 2009 is near and I am proud to announce that my session proposal has been approved! I will be doing a 60-minute lecture in the Programming track on the subject of: Dynamic Walking with Semi-Procedural Animation (Follow the link to see the session description on the GDC website.) I am honored to be presenting my work in the company of the great minds of the game industry at such an early point in my career. This is the second time I am going to GDC and I am truly looking forward to it. ...
Video Demo 2 of Locomotion System
I've made a new video with voice-over demonstrating the capabilities of the now released Locomotion System, including the new features that enables it to be used with 4-legged animals: In the video I explain the features of the system step by step in a straightforward manner while demonstrating the effects. ...
Locomotion System Released Now
The Locomotion System has been officially released last Friday concurrent with my presentation of it at Unite 2008. It is available for download at the Unity website: Go To Locomotion System From the website: About Take a look at how semi-procedural animation can dramatically improve the realism of animated humans and animals. Full Control of Style Animators are experts in creating motions with specific styles and personalities. The Locomotion System uses keyframed or motion-captured animations as input and only adjusts them minimally to move the feet correctly in a dynamic and detailed environment. ...
Locomotion System at Unite 2008
In a few weeks I'll be presenting the Locomotion System in a technical session at the Unite 2008 conference held at the Tycho Brahe Planetarium in Copenhagen, Denmark, October 22-24, 2008. My session will be held 13:30 on Friday, October 24th: Walking and Running on Uneven Terrain Speaker: Rune Skovbo Johansen This session will present the free Locomotion System developed by Rune. The session will discuss how to let the system solve the complex tasks of blending multiple walk and run cycles and perform dynamic foot placement on uneven terrain while keeping animators and game programmers firmly in control of style and behavior. ...
Video Demo 1 of Locomotion System
I've made a video with voice-over demonstrating the capabilities of the Locomotion System I'm developing. The video is based on one of the interactive demos in the previous post. You can look at this high-res Quicktime video (106 MB) or at the lower quality YouTube video embedded below: In the video I explain the features of the system step by step in a straightforward manner while demonstrating the effects. ...
3 Demos and New Blending Feature
Lots of demos you can try this time - yay! Tip: For better performance, unload one demo before you view the next. Instructions for all demos below CommandKeyboardGamepad Walking-directionarrow keysanalog stick 1 Walking-speedshift- Facing-directionW, A, S, Danalog stick 2 Jumpspacebutton A Time slow down / speed upnumpad - / +- You can control the characters with either the keyboard or with a game pad. With a game pad, such as an XBox 360 controller, the direction and speed can be controlled precisely with ease, while independently controlling facing direction with the secondary stick. ...
Locomotion System Overview
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. ...
3 New Features
I have just improved the system with three new features: Support for using walk cycles backwards. So for example a forward walk cycle can be used as a backwards walk cycle too (in lack of something better). Auto-synchronization. All walk and run cycles are now synchronized so you don't have to tell your animators "all animations must start on the left foot" or similar. Slightly more intelligent foot placement. ...
Adaptive Walking Preview II
I have not been good at updating the blog lately, but here's a new preview of the Locomotion System! Now characters can walk in any direction (forwards, backwards, sideways, and anything in between) with any speed. Characters can also start and stop walking with proper transitions. Click the image below to view the demo. UnityContent("http://runevision.com/multimedia/unity/locomotion/step_walk_03",480,320); ...
First Preview of Adaptive Walking
I just finished the first presentable demo. It is just one character with a fixed animation for now, and the foot step placement doesn't yet attempt to avoid intersecting geometry, but as an appetizer of what is to come, it will do. Click the image below to view the demo. UnityContent("http://runevision.com/multimedia/unity/locomotion/step_walk_01",480,320); The demo above is made from just one animation that was made for walking straight ahead on a plain surface. There are two primary techniques that were used here to make the animation look quite acceptable when the character walk up or down steps: ...
My Old Walking System
Creating a system for adaptive animation for character locomotion in computer games is not only a very exciting master thesis project, it is also my opportunity to work with an idea I have had for a long time. Back in 2001, when I was 18, I made rendered 3D animations in my spare time with the freeware raytracer POV-Ray. POV-Ray doesn't have a graphical front-end like 3Ds Max etc; instead you make your images and animations with a scripting language. ...
Walk and Run Cycle Analysis 2
In the past week I have been continuing my work on a script to analyze the movements of the feet in walk and run cycles. The primary new result is the analysis of foot lifting and landing times. By analysis the script finds these times for each foot: Lift time: When the foot begins to lift from the ground. Liftoff time: When the foot lifts off completely from the ground. Strike time: When the foot first touches the ground again. ...
Walk and Run Cycle Analysis
I have been working on a script to analyze the movements of the feet in walk and run cycle animations. From this analysis the speed of the character can be determined, as well as when and where the feet touch the ground. Click to see the analysis in action here: UnityContent("http://runevision.com/multimedia/unity/locomotion/animation_curves", 480,320); 3 graphs There are three graphs shown in the view. ...
Adaptive Animation for Character Locomotion
I have just begun working on my Master Thesis, which I will be making in collaboration with the company Unity Technologies that make the awesome Unity game engine. The Master thesis will be about "Adaptive Animation for Character Locomotion", which basically means creating a system for adapting walking, running, and crawling keyframed animations to a dynamic environment. The system will take curved paths, uneven terrain, and variable speed into account all the while ensuring graceful footsteps without slipping feet and motions that stay as faithful as possible to the original keyframed animations under the given restraints. Inverse kinematics is one of many techniques that will be involved in this. ...
runevision blog online
My website runevision.com has been online since 1998. Now, ten years later, runevision blog is started to make it simpler for me to communicate developments in ongoing projects and other things in my life. For a start, the blog will mainly be centered around my master thesis project on Adaptive Animation for Character Locomotion, which I have just begun working on. For the next half a year, this blog will be a place for myself and others to track the progress of the project, see the ongoing results, read about the thoughts behind the technical details, and roll eyes at the occasional silly remarks. ...





