No new story or chapter this time. I’m still writing (and rewriting) the next part and I swear there is a plan. Well like 80% of a plan. The other 20% I’ll figure out when I get to it. Or I won’t. I suppose that is an option.
Anyway, I wanted to write a bit about animation. Over the past few months I have gone from knowing very little about Unity’s Mecanim animation controller / state machine to, well, still knowing very little but it’s an actionable very little. It’s the very little that I can use to get some work done.
There is a simple beauty in the way that mecanim works. It’s very much geared toward game development but I think that any animator would benefit from using something similar.
I’m not going to give a mecanim tutorial or anything here, because first I don’t think I really know enough about the minutia to do that, and second that sounds like a boring read. Instead, here is why I think this is a useful tool for every animators toolbox.
There are a lot of requirements for a piece of animation. If it’s a character it needs to engage the audience with a sense of internal life and movement with intent. If it’s mechanical animation it needs to be physically consistent and purposeful. If it’s fx animation it needs to buoy and enhance the scene.
Cool. Enough with the artsy nonsense. There are some other things that animation needs to do. It needs to fit a certain motion into a finite amount of time, often a very short amount of time. It needs to seamlessly link up with the animation that precedes and follows it. It needs to conform to screen space and composition requirements. You can animate the most beautiful flowing motions and the most emotionally impactful subtlety, but if it doesn’t work with everything else being presented it is bad animation.
Games are interactive so they are difficult or impossible to pace in the way that a film or tv show would be. The player doesn’t have to follow the script and storyboards. If they want to jump or run in a circle while important dialog is being delivered, they can and often will. A game has to allow for that. Tools like mecanim exist to account for this chaotic element.
Mecanim breaks motions and character interactions down into a series of states. You can set it up so that certain motions can blend into other motions. If, for example, the player presses the jump button. You can have the character transition into a jump animation that includes a crouch, extend, arc through the air, and land absorbing the impact. The character then returns to a ready position and the player can press the jump button again. Realistic maybe, but in an action game that wouldn’t feel very responsive. What if the character took a shoulder tackle mid way through the jump. Do you wait for your beautiful jump animation to finish before transitioning into the beautiful tackle reaction animation. Or do you break that jump up into separate chunks that can be transitioned into and out of at any point. Now when the player character is extending their legs and just about to leave the ground, you can have the shoulder tackle interrupt that animation in a convincing way. Using mecanim means thinking about you animations differently, less like a scripted performance and more like a set of possible performances.
There are already some animators groaning that this steals the dynamism and pacing from their control. Bunk. At the core of what an animator does is solving the problem of making a thing that has no life seem to be alive. The problem remains the same whether solving it for a scripted, linear scene or a possibility space of potential scenes. Making the character or environment live from moment to moment is still the job.
What working with a tool like mecanim does to the way you think about animation forces you to consider the technical. Managing time and space becomes much more important. Creating animations that can cleanly link from one to another at pretty much any point becomes important. The constraints of the tool become strengths. A nice character moment can’t exist in only one scene, but must be available any time the player triggers it. It makes you as an animator consider character intention even in otherwise static moments.
When motions are chopped up into slices of a handful of frames each, every moment becomes a time that you can express the internal intentions of a character or piece of animation.
Ryu’s idle animation in SFII is 4 frames. 4 frames. Every ounce of internality, every bit of intention, everything that tells you who that character is lives in 4 frames of animation. Using mecanim will force you learn just a little of how that is possible.