24 Hours to Learn Quadruped Walk Cycles
Building Virtual Worlds Round 4
Development Duration: 2 Weeks
Developed in Unity for HTC Vive
Programmers: Atul Goel, Himanshu Tekikar
Artists: Mohan Bai, Euna Park
Sound: Yifei Gong
Co-Producers: Atul Goel, Euna Park
At this point in time, I had never animated quadrupeds. The narrative of one project I worked on was going to heavily rely on the animated performance of foxes (read more about it here), and we had two weeks to complete the assignment.
Somehow though, I thought that I was going to be alright. I gave myself a 24 hour deadline to animate an acceptable quadruped walk cycle for a low-poly fox model. I had already modeled and rigged the character, so that did not factor into the timeframe. A good note here is that this was not 24 hours of continuous work on this one project, but in balance with other commitments I had during this time period. A hard deadline was necessary to push myself and see if this was something I could actually achieve within the scope of the project.
24 HOURS LEFT
I began the process by studying a combination of online video tutorials on quadruped walk cycles and footage of foxes doing various activities. The tutorials built a technical understanding of what kind of timing goes into a quadruped walk cycle, and more importantly, why that particular timing was essential to natural movement. Understanding how, where, and why force was generated by each moving part of the creature would be crucial to technical implementation. Studying actual footage of foxes helped build a mental reference of what felt like natural movement. I also attempted some rough sketches of my own to map out when and how the feet would be placed and how the body moved as a reverse pendulum in response to each limb.
An amazing reference for timing was drawn from The Animator's Survival Kit by Richard Williams (shown below).
20 HOURS LEFT
Armed with this information, I made a first attempt at a blocking pass with the mother fox model. To simplify the process, I broke the rule of game animation (animate everything over an easy manipulable central pivot) and attempted to achieve something vaguely convincing in the more cinematic behavior of having the character move through Maya's worldspace.
It was a clumsy and uncomfortable attempt. There were many points at which I needed to completely redo entire poses.
I made the decision not to take the time to spline this attempt, as this first pass at quadruped animation was not meant to be implemented into our game experience at all.
At this point, I attended to other commitments and assignments, and took a good night's rest.
8 HOURS TO GO
I did a couple more blocking passes until I felt that I was able to reasonably produce decent-looking animations at the rate necessary for a two week project scope. After this point, I deleted everything and started again. Moving in Maya's worldspace may be fine for a cinematic shot, but these animations were being designed for a game engine, and everything needed to happen over a central pivot.
Armed with the experience of having practiced the cinematic method of animation, blocking the game-optimized walk cycle was much quicker than it would have been otherwise. By understanding how the feet were meant to move in space, it was a smaller leap of understanding to get them to move convincingly while the fox functionally stayed in the same space.
7 HOURS TO GO
One of the biggest things I realized would become a pain was the animation of the tail. For the scope of a two week project, it was highly inefficient to attempt to move each and every joint that I had rigged up to the movement of the tail for each and every frame.
I searched the web for a way to automate a natural bend in a tail, and came upon this:
By implementing this technique, I used an IK spline handle and a bit of scripting to automate a decent bend in the tail, in which each joint was affected by the rotation of the joint in front of it on the skeleton. Only the first control was necessary to be animated, after this tool had been implemented.
4 HOURS TO GO
Satisfactory blocking still took a couple of attempts, but after cleaning up the splines in the animation editor, this was the first more polished walk cycle I had achieved.
2 HOURS TO GO
With the time I had remaining, I adapted what I learned to the baby fox character. The biggest change I kept in mind was that the baby fox is a baby. He was going to be more energetic, he would have more of a bounce in his step, he would need to walk more quickly to keep up with his mom. I drew on my experience of growing up as the eldest of four children and my memories of my siblings as toddlers for the kind of energy I wanted this walk cycle to have.
Completing this exercise under a self-imposed tight deadline was extremely illuminating and gave me a boost of confidence in my work as an animator. I
BONUS CHALLENGE: BABY FOX RUNS IN A CIRCLE
Shortly after completing the 24 hour assignment, I decided to push myself further and create a cute idle state animation loop for the baby fox, in which he chases his tail.
This was the blocking pass:
The cleanup for this idle state was particularly painful. The splines went everywhere, the feet were floating, knees were breaking... it was a long cleanup but the end result was satisfactory within the scope of this project.