Head over heels: Upper body movement in gameplay
In this reprinted #altdevblogaday in-depth piece, IO Interactive lead animator Simon Unger demonstrates how developers can sometimes forget to take realistic head movements into account when animating characters.
For every gameplay feature that makes it in, ten were cut so that it could survive. In the epic battle (or collaboration, depending on your team/company) between designers, programmers, and animators to see these features get shipped, some core fundamentals often fall by the wayside. In games animation, it is very common to approach quality of movement in the wrong order; starting from the ground up.
Foot planting, phase matching, complicated IK solutions, procedural layering; they all have their place, but we often sacrifice much to keep them working. In film, animators long ago realized that audiences observe characters in a very specific priority order. We start at the eyes, then the head, then the silhouette. Animators work very hard to give the upper body a sense of weight, obey the laws of force, and move in appealing arcs.
When it comes to in-game locomotion, we rarely get to see the eyes clearly as we're mostly behind our character, so the next stop down the chain of importance is the head. Unfortunately, when we place such a high focus on maintaining solid foot-planting, we create a fulcrum point at the ground and our characters often pivot in extreme ways to compensate. This is especially noticeable in bigger direction changes and when aligning characters to interact with each other (melee, high fives, piggyback rides, etc.).
In reality, the human body pivots around its centre of mass, the mid to lower torso. Through a series of complex mechanisms, humans have evolved the ability to maintain stability in three major areas of the body; the torso (the vestibulospinal reflex), the eyes (the vestibulo-occular reflex), and the head (the vestibulocollic reflex).
The fundamental purpose of these mechanisms is to maintain equilibrium as well as visual focus on predators and prey. It's difficult to run away from a sabre-tooth tiger or catch a shark with your bare hands if your vision is blurry and you keep falling over.
You can see these mechanisms at work in this video. Pay close attention to the head movement of the girl in the green and yellow.
Her head hardly moves for the entire race! (Side note: this is also fantastic squash and stretch reference, but that's another article)
Let's look at another reference video. Again, pay attention to the stillness of the head and centre of gravity on each of the athletes. Draw a mental path that the head is traveling along in space. Even in extreme direction changes, such as the guy falling on the skateboard, the head is held relatively still compared to the other extremities.
As you can see, especially in the first two clips of the football players doing cone drills, the legs and arms are being used to redirect the inertia of the centre of mass and the head is doing its best to remain as still as possible. On the sharper turns, the entire body almost appears to rotate around the head's position in space.
As a former animation director was fond of telling us, the only animation principle you need to remember is "Force". You cannot move an object in any direction without force in the opposite direction. The amount of force being applied is how weight is demonstrated.
To make a sharp, 90-degree right-hand turn at a running speed, the character needs to decelerate and redirect his mass by applying force towards the front and left sides of his body. We can see this in action when we break down one of the turns in the video.
The green line represents the path the head is taking throughout the turn. You can see the first application of force on the #1 foot-plant. The right foot is out in front and to the right of the centre of mass to redirect the body.
On the #2 foot-plant, the right foot is now behind and to the right of the centre of mass to redirect to the left as well as accelerate the body forward. Notice how throughout the entire turn the body appears to pivot underneath the head to complete the turn.
Taking this reference and knowledge, let's review some in-game footage from a few random clips I found online.
Hopefully the issues in the head movement on screen are apparent to you now. These types of issues aren't exclusive to games either. Often in feature films, especially ones with a mix of live action and CG, the CG character "feel" wrong to the viewer but they just can't pinpoint the reason why. There's a good chance that the character is exhibiting some of the issues described above.
Here are a few clips showing fluid head and core movement. Notice how even though some of the movement is almost super-human, it still remains quite believable when this principle is applied.
So, the next time you sit down to create a movement system, try to keep the above in mind. As we move towards more elaborate motion requirements on the next-gen consoles, stepping back and taking stock of the fundamentals will be even more important.
Start with your higher-frequency animations. If you have some kind of metrics system built into your game, data-mining for which animations get played and seen the most should give you an excellent starting point. Usually this means your main character's core locomotion. Starts, stops, and turns. Try to avoid getting caught in the common trap of spending a lot of time worrying about an area that will be seen less than 20 percent of the time. Focus on the 80 percent.
Unfortunately, there is no "magic bullet" to solve all of this currently. Head tracking, IK, animation layers, procedural systems… all need to be authored with this in mind and working together to maintain a sense of weight and force. Often the cause of these issues is multiple animations systems working against each other. Always be asking if each new component is supporting the greater goal: responsive, believable character movement
I would love to hear in the comments about how other teams have approached this and what your challenges and successes were.
[This piece was reprinted from #AltDevBlogADay, a shared blog initiative started by @mike_acton devoted to giving game developers of all disciplines a place to motivate each other to write regularly about their personal game development passions.]