assets/docs/animation_guidelines.md

139 lines
10 KiB
Markdown

# Guidelines for Animation
Guidelines to follow while animating characters for *Hook, Line and Axe*.
As with all art forms, animation requires heavy **referencing and iteration**.
These will drive you to quality. Doesn't look right? Use a reference. Doesn't feel right in-game? Rework it.
## Communication
Humans are visual learners and interpreters. It's wired into us.
We literally have sections of brain dedicated to parsing facial expressions.
Body language and presence is such an important communicator that we prefer sitting at a table together than in a Zoom call.
Along with this, there are many hidden things we might pick up on but not "notice" when observing a situation. You can tell a person is unhappy by their fake smile, but you may not realize the smile feels fake because they forget to raise their eyebrows.
### Ground Yourself
Much is the same with motion. We're used to seeing people run and walk, so much so that we forget what it looks like when we try to recreate it ourselves. Other people may notice it looks off, but can't determine one. That's why **references are important**. They force us to ground ourselves in reality.
One key part of keeping an animation "grounded" is the character's **center of mass**.
Generally, most of your weight is concentrated at your pelvis, chest, and skull.
If any one of these moves, your center of mass moves with it.
If your center of mass moves too far away from its supporting mass (your "base" in physics terms), you topple.
#### Breaking Down the Supporting Base
Let's see this in action.
![](images/animguide_com1.png)
Here are three diagrams of a character standing, annotated as follows:
- Red - Center of mass
- Blue - Supporting base
- Green - Where center of mass is relative to supporting base
- Yellow - Physics force diagram
In **case A**, the character's center of mass is directly above their supporting base. Physics-wise, this means that the force of gravity and normal force of the floor are counteracting each other, leading to a net zero of forces. This means the character in stable.
In **case B**, the character has leaned forward. Their center-of-mass, the head, has now moved past the supporting base. Physics-wise, you can think of the character's feet being a fulcrum, and their body being a lever. Since their head is further away from the fulcrum than their feet, the torque is much stronger (Torque = Force * Distance), so they angularly accelerate clockwise.
In layman's terms: **they're toppling**.
In **case C**, the character has extended their supporting base by moving their leg forward. Physics-wise, gravity drags their head down, but the normal force being applied to each foot stabilizes the character, preventing them from falling.
#### Detailing and Counterbalance
This can be applied to more detailed characters as well. Here is a simple diagram of Alan's llama with only the key masses marked.
![](images/animguide_com2.png)
**Case A and B** seem like valid poses at first-glance. **Case C** is valid, but feels a little tipsy as all the weight leans to one side.
**Case D** is not "grounded" because their base is too small and doesn't support their center of mass. This would only be something you want to do if you want the character to feel weightless.
Case A looks valid, but still feels off. That's because there wasn't a proper use of **counterbalancing**.
![](images/animguide_com3.png)
Both the tail and forehooves of the character have visual weight. While using the base to support them can be limiting, we can instead counter-balance them by treating the supporting base as a **fulcrum** and the horizontal distance between each point as a lever. If a point is further from the fulcrum, the torque the point applies increases (again, Torque = Force * Distance). If the amount of torque applied on either side isn't roughly even, then the character is **unstable** (not "grounded").
Looking at case A with this new lens, it feels like the character might topple forward since their hooves are pushed further away from the supporting base than their tail. This is not true for case B, as the hooves are equally spread apart.
#### In Animation
These rules apply to three dimensions as well--push mass too far out in one area, and other mass must be pushed in the opposite direction to accommodate.
This also applies **temporally**. You can push mass past your supporting base for a moment, but only if you spend the next moment pushing mass in the *opposite* direction past your supporting base to decelerate/stabilize.
### Intent
Behind each action, there is a character dealing with their own experiences, conflicts, motivations, and personality. If animations do not support the character, then there is no character to begin with. Considering that stories are told by character interaction, creating a convincing character is necessary for an engaging experience.
When making each animation, ask yourself this:
- What is the character's **intent**?
- **Why** are they doing what they're doing?
- **How** are they doing it?
- In what setting or **context**?
For example, the Renegade (Alan's llama) performing a slide along the ground:
- Intent: To retain momentum
- Why: To conserve fuel for further platforming, or to dodge gunfire and explosions
- How: Pulling limbs in close and keeping low-to-the-ground to minimize drag
- Context: In a cluster of floating islands, while being attacked by sky pirates
From this, we already have an idea of how the animation should play out:
The character is calculated and under extreme pressure, so her movement is utilitarian and not superfluous.
She's also a (somewhat derp-y) llama wearing bulky goggles, so she needs to turn her head sideways to clearly see where she's going.
She needs to get up and run immediately after the slide, so she never entirely sits down, but instead crouches low to the ground.
### Push the Extremes
As we build this new reality, we're constrained by one thing: the window.
You have limited screen-space to convey the idea of what each character is doing, how they're doing it, why, etc.
Thus, it's necessary to push your motions to the extremes. Focus on what's important about the animation, and push it really far so you can *see and feel* what's occurring. Readability is king in a fast-paced action games like ours.
In the Renegade's forward slide example:
- I kick one leg forward to lead the viewer's eye in the direction the character is moving
- I let other limbs trail behind to give a sense of speed. In other slide poses, I use the arms or torso to also lean into or out-of the action
- I add noise to the ears like they're flapping in the wind
- She isn't actually moving fast enough for this, but this exaggerates the intent of *speed*
![](images/animguide_slide.png)
*Forward and backward slide variants. Note that facial expressions are animated separately.*
## Line of Action
Line of action is also a key communicator in animation. It sort of boils [intent](#intent) and [extremes](#push-the-extremes) into a simple procedure. A dynamic, curving or changing line-of-action will create more exctiing and dynamic poses, while a flat or straight line of action will create stagnant and boring poses.
As line is an element of composition, you can use compositional rules to adjust your line of action. For example, one can use leading lines to show what the character is focusing on.
Here's an example of some extreme poses, with lines of action drawn on them.
![](images/animguide_extremes.png)
Try out various lines of action by organizing the base shapes of your character. Before you start detailing any animations, make sure intent is clear, dynamic, and fits the personality of the character.
## Follow-Through
Much like considering the character's [center of mass]((#breaking-down-the-supporting-base)) for keeping them grounded, it is also important to consider their momentum.
Momentum = Mass * Velocity, and requires force to counteract. The bigger the mass, or the faster the speed, the more *force and/or time* required to counteract the momentum.
Here's an example of my llama swinging a wrench. Admittedly, *this animation is weak* and could have an exaggerated line of action and more personality, but it at least utilizes follow-through.
![](images/animguide_followthrough.png)
In the first frame, there's a slight windup. The character then swings the wrench forward, covering a large distance quickly, the wrench even dragging behind as seen on frame 2. This is also the impact frame. After the impact frame, on frame 3, the wrench carries a little momentum over past the impact, and moves ahead of the arm since it was originally dragging behind. You can see the torso continues to rotate slightly as well despite the action being complete.
Again, consider the overall change in momentum when doing follow-through. A massive battleaxe should feel cleaving and powerful. Follow-through is what helps create that sense of mass and momentum.
## Consistency
For programming purposes, keep variations of animations (strafes and attacks) at consistent length and timings with their counterparts.
For example, if we have three light attacks, and the first attack completes the action and enters follow-through at frame 40, all other light attacks should complete their actions at just the same time.
This allows the player to have expectations on how an action will play out, and makes the programmers' lives much easier as we don't have to set up a custom blend for each attack variant.
Also, ensure that the personality of the character is consistent throughout their animations. If one animation is very hostile, but the other is very focused, the animation may be giving conflicting ideas about the character.
## Loop Unevenly
It's really easy to tell when an animation loops if all keys are in the same place.
In reality, everything is an oscillation happening at inconsistent frequencies and offset phases.
We can't easily change the frequency of each limb's loop, but we can offset the phase each limb is oscillating at.
To do so, set all keyframes to Cyclic in the Animation Curves editor, then randomly offset them forward or backward in the timeline.
![](images/animguide_cyclic1.png)
![](images/animguide_cyclic2.png)
Since everything returns to its home position at different times, the animation feels much more smooth, and the looping does not stand out so much.
# IN SUMMARY
- Ground the animation
- Push the extremes
- Communicate your idea
- Follow through
- Be consistent
- Offset keys
If you have any questions or concerns, poke Alan with a sharp stick.
See other project guidelines [here](../README.md#resources-and-guidelines).