diff --git a/docs/animation_guidelines.md b/docs/animation_guidelines.md index ba334ff..808c108 100644 --- a/docs/animation_guidelines.md +++ b/docs/animation_guidelines.md @@ -77,30 +77,52 @@ 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. -![](images/animguide_extremes.png) -While the linework here is muddled, these poses test the character's range of motion to give viewers an understanding of how she moves, how she feels, etc. The silouettes also make use of leading lines to point the viewer to what needs to be focused on. It's similar to your rules of composition. - -In the Renegade's slide example: +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 exaggerates the intent of *speed* + - She isn't actually moving fast enough for this, but this exaggerates the intent of *speed* -## Consistency -For programming purposes, keep variations of animations (strafes and attacks) at consistent length and timings with their counterparts. +![](images/animguide_slide.png) +*Forward and backward slide variants. Note that facial expressions are animated separately.* -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. +## 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 diff --git a/docs/images/animguide_cyclic1.png b/docs/images/animguide_cyclic1.png new file mode 100644 index 0000000..bee7abc --- /dev/null +++ b/docs/images/animguide_cyclic1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29d4d18ce1107c8a188659f28d5f53bc4ed5e157abda868f127c4cc236c5322d +size 393072 diff --git a/docs/images/animguide_cyclic2.png b/docs/images/animguide_cyclic2.png new file mode 100644 index 0000000..51e0b7f --- /dev/null +++ b/docs/images/animguide_cyclic2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d23c3e073409736c922db0ce9ca4ce158184417a0635562a309c2439f00af29a +size 56228 diff --git a/docs/images/animguide_extremes.png b/docs/images/animguide_extremes.png index 984e947..59ea7d3 100644 --- a/docs/images/animguide_extremes.png +++ b/docs/images/animguide_extremes.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5968cf7b8be330e8a0a8ccaa23b60f01c90b3fd51a53eeb69663a229f49bb7a0 -size 1354136 +oid sha256:668148544348e3519c79256095dcf370860a06f82d30b5dba892d729b1030bd2 +size 1874685 diff --git a/docs/images/animguide_extremes.xcf b/docs/images/animguide_extremes.xcf new file mode 100644 index 0000000..b35df8c Binary files /dev/null and b/docs/images/animguide_extremes.xcf differ diff --git a/docs/images/animguide_followthrough.png b/docs/images/animguide_followthrough.png new file mode 100644 index 0000000..d917c2e --- /dev/null +++ b/docs/images/animguide_followthrough.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9de975424db60223d71cf2e0ab6a9c63c7fd7d6f3510f3ed98b1aef88544c066 +size 2006166 diff --git a/docs/images/animguide_followthrough.xcf b/docs/images/animguide_followthrough.xcf new file mode 100644 index 0000000..4bb33b6 Binary files /dev/null and b/docs/images/animguide_followthrough.xcf differ diff --git a/docs/images/animguide_slide.png b/docs/images/animguide_slide.png new file mode 100644 index 0000000..d52de26 --- /dev/null +++ b/docs/images/animguide_slide.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7879a617ab574f786b1c1a880382cdce1f0912ea12b04e21f0a83af4458de354 +size 1048989