What's up, Joey here at School of Motion,
and welcome to day 12 of 30 Days of After Effects. Today's video is something I've been really
excited to be able to show you. It's been requested a lot actually. The topic is creating a walk cycle in After
Effects with a character. Now, the character rig we'll be using was
built by Morgan Williams who is not only an instructor in the Department of Motion Design
at the Ringling College of Art & Design, but who also teaches our Character Animation Bootcamp
and Rigging Academy courses, and the artwork was done by my good buddy Joe Russ, for his
indie video game, Jenny LeClue. I'm really excited to be able to use the artwork
in this tutorial, so if you haven't checked out Jenny LeClue, look for the link on this
page. Anyway, let's hop into After Effects and talk
about making a walk cycle. So, the first thing I want to say is that
character animation can really be a completely different career path than a traditional motion
design career path, and I have said this a lot to Ringling students that I've taught,
that character animation is really fun. It's also very, very hard and to get good
at it, you have to practice it a lot, and if you're a motion designer and mostly what
you're doing is animating non-character things, you're just not gonna get to a Pixar animator
level, right? With that said, it never hurts to have a couple
extra tools in your tool belt, and so knowing a little bit about character animation and,
at the very least how to make a serviceable walk cycle, that can come in really handy,
so what I'm going to show you guys is how I made this walk cycle, and again, I'm not
a character animator, so this is-- I'm sure a real character animator could pick this
thing apart and tell me everything I did wrong, but I'm hoping that what I can teach you guys
is at least how to approach this and maybe be able to use this in your own work. So this is the final result, and let me first
show you the character rig, okay? Now, like I mentioned in the intro, this is
Jenny LeClue, this is the main character in Joe Russ' game that he's making, and it's
currently Kickstarting as of today, August 18th, there's three days left. So if you want to follow along there's actually
a character rig that Morgan Williams at Ringling has been gracious enough to just give out
for free and it's this rig here is based on that one and a lot of the controls are the
same and should work the same, and I'm not going to get too much into the actual rigging
part, because rigging is a totally different subject, it's a lot more complicated, there's
a ton of expressions going on here, and at some point, maybe there will be a video about
that. This is strictly about character animation
but I just want to show you some of the controls here, right? You can see that there's a whole bunch of
nulls, and in this comp here, this rig comp, there's a ton of layers that have been hidden
by the shy switch, okay? There's a whole bunch of things that you don't
need to see, and when you hide those all you're left with are these nulls, right? So this null controls the eyeballs, this null
here controls the hair, and you can kinda get little hair wiggles and stuff. And then you've got the main controls like
this foot, this foot, each hand has a control, and if you're noticing there's a lot of automatic
stuff happening, if I move the hand the elbow bends correctly, the shoulder rotates all
by itself, and this type of a rig is called an inverse kinematic rig. It's a fancy word, it basically means rather
than rotating the shoulder, then the elbow, then the wrist, you just move the wrist and
After Effects figures out backwards what the previous joints should be doing, okay? And you've got all these controls, and really,
rigs like this are super fun to play with, this cog, center of gravity null here, this
controls the main part of the body. And you can see that the feet and the hands
get locked into place but everything else moves around it, and when you click on a bunch
of these layers, there's controls embedded in them, so for example there's a hip roll,
there's a belly roll. So there's a whole bunch of controls here,
and all of this took a long time to set up, and once it's set up you then have this amazing
ability to do really cool character animation. So what we're going to make is a walk cycle,
and I'm going to show you how I do it, and there's more than one way to do it, and I'm
sure some of the things I do are not the correct way but they work, and honestly, that's all
you can ask for sometimes. So we're going to start with the feet, okay? And actually the first thing I want to do
is, each of these nulls has keyframes on every single property, it's got a hold keyframe
at the beginning of the animation, and the reason it has that is it's just a good idea,
to give yourself the initial value on a keyframe somewhere, but it's going to make my life
a little bit harder, so the first thing I'm going to do is hit the tilde key, and I'm
going to just select every layer and hit U, and I'm going to just get rid of every single
stopwatch that's on here, okay? So I'm going to hit U again, and I just want
to get rid of everything, so I'm basically starting with a blank slate. And this will make it easier once we start
getting a lot of keyframes on here, to only see the keyframes we want, okay? So I'm just going to start by doing that. These time remaps down here, you don't need
to mess with those, okay? So really, all I'm concerned with are the
nulls, which now have no keyframes on them, so I'll hit tilde again. Right, and let me give us a little more room
here. You'll notice I have my screen arranged kind
of a weird way this time, and that's because I wanted to have more room for you guys to
see what's actually happening with this rig. Alright, so the way I do it is I start with
the feet. So, you've got your right foot and your left
foot, and rather than try and mimic the complex movement of a foot taking a step, I break
each piece of the movement into individual pieces, and that makes it much, much, much,
much simpler. So actually, step one is I'm going to make
my comp much, much shorter than it is, okay? So all I need it to be is 24 frames, one second,
okay? So I'm going to go to one second, I'm gonna
hit N to move my outpoint there, and then I'm gonna Control click in this area and say
trim comp to work area. The reason I'm doing this is because what
I want, and this is actually pretty common, when you make a walk cycle it's a lot easier
to do if you've got nice even numbers to work with, right? And a walk cycle should loop, so the first
frame should match up with the last frame, and I'm working in 24 frames a second here,
so that makes it easy for me to know the mid-point of my walk is frame 12, and the mid-point
between that and the beginning is frame six, and so this gives me nice, easy numbers to
work with, and it also means there's only 24 frames, so when I RAM preview it doesn't
take a long time. So starting with the feet, I'm gonna hit P
on both of them, and I'm going to Control click and separate dimensions on the position
property for both the feet, okay? And I should mention these are foot controllers,
these are not actually the layers for the feet, they're just nulls that control the
rig, alright? So, the first part is actually pretty simple,
so I'm going to set the initial position of these feet, so I'm just going to drag, and
I'm holding Shift so I can drag this null, and one thing that's kinda good to do is kinda
move it around a bit, and you'll see why. If I move this up a little bit, there comes
a point where there's kind of a snap happening with the layer, right? And so I don't want to move it any further
than that, you see how it snaps right about there, okay? So I want to have the initial position happen
right before that snap, right? And then I'm gonna put a keyframe on X, then
I'll do the same thing on the left foot, and I'll move it, right? And kinda move it up and down and figure out
where the snap happens, maybe there, okay so let's try that. Okay? And the reason the snap is happening is because
this is an inverse kinematic rig and so this null controls the foot, and then there's some
math happening to figure out where the knee should be and where the hip should be, and
of course you can't see the hip, it's underneath the clothing, but sometimes that-- having
that math, it means that there's gonna be a value where all the sudden-- the result
jumps really quickly and you want to try and avoid that. There's a lot of controls that can help you
adjust that, but initially let's just try to make it easy for ourselves, okay? So now what I'm going to do is I'm going to
go to the mid-point of my animation, and I'm going to move the left foot, right? That's this one, I'm going to move this one
backwards, until it's more or less where the right foot is, and then I'm going to move
the right foot over here, okay? So it's more or less where the left foot was. And if I can't remember where the left foot
was, I'll go back to the first frame and I'll just put a little guide here, okay? So then I'll go forward to the next keyframe,
and I can see I did a pretty good job of lining those feet up, okay? And then I'm gonna go down, I'm gonna go to
the last frame, right? Frame 24, and I'm going to just copy and paste
both of these keyframes like this, okay? And what that just did is it created a looping
animation, okay? And if I just RAM preview this real quick,
you'll see that the legs are just moving back and forth, sort of like someone's walking. There's a little hitch at the end of the animation,
and that's because this last frame and this first frame are identical, so it's actually
playing that frame twice. So while I want my comp to be 24 frames per
second, and I want it to be 24 frames long, I actually only want to play the first 23
frames before the loop happens. So now I can see I've got this seamless loop
of the legs moving back and forth, and I'm going to leave these keyframes as linear,
and the reason for that is because eventually we're going to have to move this layer at
the correct speed so it feels like those feet are stuck to the ground and that is so much
easier to do when you have a linear movement with the feet. And in general, if you study, if you look
at people walking, their forward momentum can be fairly constant, it's all the other
stuff that has variation to it, okay? So that's step one, legs moving back and forth. Step two, now we just move to Y position,
okay? So what happens with this back foot, okay? And if think about someone walking, they land
on their front foot and then the back leg lifts up and kind of comes over and then sets
down, okay? So what I'm going to do is I'm going to start
with the right foot, and I'm going to put a keyframe on Y position, okay? So it's on the ground and halfway-- basically
right here, this frame here, frame six, this is where that foot should be the highest. So what I'm going to do is I'm going to adjust
the Y position, so that the foot lifts up, okay? And you can sort of eyeball about how high
you want it, and if someone's walking slowly it doesn't lift up as much, and if they're
running it lifts way up, okay? But this is just a walk, so let me put that
maybe right about where the shin is and then, at this point here, right? This is the mid-point of the walk cycle and
now this foot should be down, so I'm just going to copy and paste the Y position and
so now you can see that it lifts up and comes down, okay? And now, let's Easy Ease those, and let's
go into the curve editor and talk about this for a minute. This, what this is showing me is the speed
graph which I hate using so let's go to the value graph. So you can see that the Y position of the
foot, it's easing out, right, it's sort of slowly lifting up off the ground and it reaches
the apex, and I'm gonna extend these bezier handles out, so as it reaches the apex it
hangs there for a second and then it comes down. Now what's happening by default is it's coming
down and easing into the ground and that is not how people walk. Walking is controlled falling, and so what's
going to happen is Jenny's gonna lean forward and that front foot's gonna land and just
stop 'cause it's literally gravity pulling it into the ground, so this is what it should
look like, easing off the ground, you know? Getting to its highest position, easing out
of that, and then falling to the ground. So this is what that curve needs to look like,
and now I need those same keyframes to happen on the other foot, okay? So that's one foot, and now on the left foot
I want the same thing to happen, but just now at this point in time. So let me just paste those keyframes and see
what we get, and I may need to adjust this Y position a little bit, so with all three
of them selected, all three of those keyframes, I can actually adjust all of them as a group
and lower them a little bit. Did you guys catch that? After Effects just crashed on me and it actually
hasn't done that on me in a while, so I'm guessing it has something to do with all this
fancy character animation we're doing, but anyway, either way we're back, and let's take
a look at our animation curves for our left foot Y position, and that looks good. So let's just do a quick RAM preview, and
let's see what we've got so far. So far all we have is the X back and forth
movement of the legs and now we've got each leg picking up and setting down, and already
the legs kinda look like they're trudging forward, okay? And so the rest of this is really gonna be
adding some overlapping action, some follow-through, and just trying to mimic the dynamics of someone
walking, and we're just going to take it piece by piece. Let me switch this to quarter res, so we can
get a little bit faster RAM preview. This artwork is very high-res, this is actually
a 5000 by 5000 pixel comp, so we're in quarter res and it still looks good. Alright, so now that we've got the feet basically
doing what they're supposed to do, and we might tweak them, why don't we now start incorporating
the rest of the body? So let's start with the center of gravity,
okay? And let's scrub through this and think about
this, right? When someone takes a step and their foot lands,
that is when all of the weight of their body falls to the ground and they have to catch
it, and then when they step up in the air, all of the weight of their body goes up in
the air, okay? So when we're in a position like this, the
weight of the body should be down, so I'm going to open up the position keyframes, the
position property, the center of gravity, and separate dimensions, put a keyframe on
Y, and I'm just going to tap Shift and the down arrow, and just lower the body a little
bit, okay? And then I'm going to go to the mid-way point
of this step which is going to be frame six. Remember frame zero is the beginning, frame
12 is the mid-way point and frame 24 is the loop point, and so frame six, I'm gonna now
hold Shift and nudge the body back up a little bit, okay? Not too high, 'cause if you nudge it too high
you can actually create some weird popping with the joints of the legs, so you don't
want to go too far with it. And then just look what we've got, right? The foot steps up, the body goes up, right? And then on frame 12, I'm just gonna copy
and paste this, okay? So this is what the body's doing now, okay? It's going up and down with the step, and
now I just want it to repeat that, so I'm just going to copy and paste this, okay? And let's hit Easy Ease on these and do a
quick RAM preview, and let's see what we got so far. Cool, alright, so that certainly helps, but
here's the thing. You know, all of these motions that we're
going to start adding, they don't all happen at the same time. When Jenny takes a step, right, and she goes
up in the air, all of her weight is moving up in the air, and then when she lands it's
all coming down, but it's gonna continue to come down for a frame or two after the step
lands, and it's gonna continue going up for a frame or two after she goes up in the air,
so what I really wanna do is nudge these keyframes forward one or two frames, right? And that way we can get some overlap, some
follow through. And you're gonna see the problem with that. It looks good on the second part of the animation,
but the problem is these first couple of frames, there's no movement at all, so what I need
to do is actually go to this last keyframe. I'm just gonna select Y position, I'm gonna
click on the properties selecting every single keyframe, and I'm gonna hit copy, paste, okay? And this is what that's done. It's given me, if I now select the Y position,
it's given me keyframes that actually extend out way past the timeline's ending point,
and so what I can do, I know that this keyframe and this keyframe are identical, so what I
like to do is put a little marker on this layer, so with it selected, hit the asterisk
key, the one on your number pad, and now go to the first frame, and now I can just shift
this layer over, line it up with the marker and extend this, and now if I move this forward
a couple of frames, the animation that's happening here is actually happening back here too,
so I've still created a seamless loop, but now I can decide where I want that loop to
begin, and no matter where I slide this layer, it's going to be a seamless loop, alright? And so now there's a little bit of a delay
when she goes up, her body keeps going up, even as she starts to come back down, okay? So it creates a little nice-- a little bit
of a lag, which is nice. Alright, now at the same time, there's also
kind of a shifting of a weight that happens when you're walking, right? You shift from leg to leg, and this is a 2D
character rig so we're not literally going to shift her in Z space or anything like that,
but we can sort of fake it by adjusting the rotation of the center of gravity, okay? And so let's just do the same thing, now to
make this a little bit easier, I'm gonna slide this layer, I'm actually gonna slide it back
to the starting point, and then, that way it's just gonna be easier, because now I can
line up my rotation with these keyframes, and then I can offset them afterwards, so
let's put a rotation keyframe on here. Let's Easy Ease it and let's think about what
is actually gonna be happening, okay? As Jenny steps up in the air, she's gonna
sort of lean back to get the leg off the ground, but then lean forward when she lands, okay? So when her feet are on the ground she's probably
leaning a little bit forward, not very much, okay? Let's try two degrees and see what that looks
like. Which means that when her leg is up in the
air at frame six, she's gonna be leaning back a little bit, right? Sort of using her momentum to throw that leg
up, and it's not literally throwing the leg up, it's just a subtle little shifting of
weight, okay? Then on frame 12 we're going to be back forward
again. And then we just want to repeat that, so I'm
going to select those keyframes and paste them, then I'm going to go to the last keyframe,
select all of my rotation keyframes, hit copy paste, and now same thing, I'm gonna move
this layer, and then move it a couple of beats forward, a couple of frames forward, and so
now you can see-- let me do a quick RAM preview-- that her center of gravity is moving up and
down and rotating a little bit as she's walking, okay? And so it's starting to feel a little bit
more natural, but the up and down and the rotation are happening at the same time, and
the rotation might actually happen a little bit before, right? It may actually precede the motion, so what
I can do is click on the word rotation. Don't select all the visible keyframes here
because there's other keyframes here and here that you can't see, but if you click on the
word rotation it selects everything. Then I can just slide these back a couple
of frames, maybe even slide them back four frames, right? And so now you're going to get this little
leading movement with the rotation, right? And it's a little too much so let me pull
this back, maybe so it's only one frame preceding the walk, okay? And now it's starting to feel like there's
a little bit of weight to Jenny, okay? Okay, cool, so since we're still working on
the bottom, we're basically working on the bottom half of this animation, why don't we
talk about what the dress should be doing, right? Morgan who made this rig had the brilliant
idea of putting little puppet pin controls on the dress itself, right? And so if I grab one of these controls I can
actually move the dress and so what I'm going to do is I'm going to open up the position
property on all of these, separate the dimensions, and I'm just gonna put keyframe on Y position
for all of them, and again, think about what's happening. In this pose, all of the weight has been pushed
down towards the ground, so all these puppet pins are going to shift down a little bit,
okay? So I can just select them all and nudge them
down, and what I probably want is for this-- the higher part of the dress to not move as
much, so maybe I'll do this in two steps. I'll pick the upper puppet pins and I'll just
nudge them down maybe four pixels, right? Just tap four times and then the lower part
of the dress can move a little bit more, so maybe do eight times. Okay? And then we're going to go to frame six, and
this is where now everything's moving up, so now we'll move these back up, so the upper
left will go up four frames, and the lower left and lower right will go up eight frames. Cool, alright, and then we'll go to frame
12, and I'm just gonna, one at a time, copy each of these, and then I'm gonna want that
to repeat, so I'm gonna select all the keyframes on each layer and copy paste, okay? And then I'm going to go to the last frame,
and I'm gonna click Y position, one layer at a time and copy paste again, so now I can
offset this and still have the keyframes looping. I'm gonna grab all of these, I'm holding Command
and just clicking each property, and hitting F9 for Easy Ease, and then I'm gonna go to
my graph editor and I'm just gonna grab-- I'm gonna actually, one at a time, click and
hold Shift, and click on each of these positions, here we go. So there's one, two, three, four, and then
click on each one, so now I've selected every keyframe in the curve editor, and I can pull
the bezier handles like this, so that there's more of a hang to that dress, right? It's gonna ease a lot more strongly into position
each time. And then, the top of the dress is probably
going to move a little bit sooner than the bottom of the dress, so I'm going to take
these bottom keyframes and I'm going to drag them-- well, first thing I need to do is go
to the last keyframe, put a marker on every layer, and then move that marker to the first
frame, so now I can offset things, so now I can take the lower left and lower right
nulls and I can just scoot 'em forward a couple of frames, and maybe the upper left and upper
right I could scoot forward one frame, right? And so what this should do is give us a little
bit of overlap where as the weight comes down you're going to see the dress-- sorry, the
coat kind of react, okay? And you can decide if you want more or less,
the bottom of the coat isn't moving very much and I would like it to move a little bit more,
so here's a cool trick where you can do a select-- go to your curve editor, select both
properties, and then once again you just click on both properties and it will select every
keyframe here, and what you want is the transform box, and if you don't see it, just makes sure
you click this button here, the transform box. With the transform box on what I can do, is
I can click these little white squares, and I can hold Command and I can scale my entire
animation curve, and so what that's doing is it's increasing the maximum and decreasing
the minimum values for my animation, and so now they're going to have the exact same timing
and the same curves but they're just going to move more, okay? And that's kinda cool, that's great, okay. Let's talk a little bit more about some of
the great controls here on the center of gravity null. You know, all we've done so far is adjust
the Y position of the null and the rotation. There's all these other great controls, okay? And so for example, you've got a belly rotation,
right? Which is gonna let the top half of Jenny kind
of move, and so we can use the same rules and very quickly animate those, so I'm going
to put a keyframe here on belly rotation, and hit U so I can bring it up, and on this
frame, let's just look at what the center of gravity null is doing, right? On this frame it's rotated forward a little
bit, it's rotated almost two degrees forward, and then when Jenny's up in the air it's rotated
backwards a little bit, so let's just do the same thing here. On this frame let's put the belly rotation
at a little bit less than two degrees, go to frame six, and just bring it back a little
bit, okay? And it doesn't have to go back too far, maybe
half a degree. And then we'll go to frame 12, and we're just
going to do the exact same work flow we've been doing, we're going to copy and paste
these keyframes, okay? Select them all, Easy Ease them, and now I
can select all of these keyframes and I can move the keyframes back, right? So that now I have extra keyframes here so
I can move them forward and still have a looping animation, and I tried to make it so that
there's never really two keyframes on exactly the same frame, it just-- something's always
moving and it just kind of creates a more natural, lifelike-looking walk and now you
can see that little thing, it's just a little bit of overlapping animation, with the top
half of her body as she's walking. Now one thing that is probably starting to
bother you guys is this weird jackhammer thing that's happening with the arm. So this is another amazing feature of this
rig, and you have the same control on the free rig that Morgan's given everybody. This is the right hand, okay? And right now it's set up with inverse kinematics,
which means what I want the arm to do is swing like this, but in order to do that with an
inverse kinematic rig it's actually a little trickier, because what I need is to animate
this null in a arcing fashion, right? And you can do that but it's a lot trickier. What would be helpful is if instead of animating
the arm this way I could just animate it the old-fashioned way, where I just rotate the
shoulder, then the elbow, then the wrist, and make it easy. And so there's actually a switch here, there's
an effect, and it's an expression check box, and it's labeled IK slash FK, alright? So if I turn this off it's going to deactivate
the IK controls for the rig, for that arm anyway, and so now what I can use is I can
use this upper FK, lower FK and a couple of other controls here, to just rotate and move
this arm, sort of the normal way that you rotate stuff that's parented together in After
Effects. So let me start by going to the first frame,
and just putting a keyframe on upper FK, lower FK. I also am going to want the end FK, which
is the hand, and then there's some extra cool controls here, there's a sleeve angle, which
kind of lets you adjust the sleeve of the shirt a little bit, and so why don't I put
a keyframe on that too, okay? Alright, so now let's hit U on our hand layer
and let's actually animate this thing. So, what we want this hand to do, right? This is the right arm, so it needs to do,
basically the opposite of whatever the right foot is doing, so right now, the right foot
is in the back and so we want the arm to actually be swung forward at this point. So let me just start messing with the values. So the upper FK is going to rotate forward
like this, and then that elbow's gonna be swinging up, and then that hand is gonna be
swinging up, and then that sleeve is actually gonna be swinging up too, alright, and so
that's one position. Now, when Jenny steps and the next foot lands
at frame 12, now this arm should be back, so now I'm just gonna swing-- excuse me, I'm
just gonna use the upper FK and swing it back this way, and then the lower FK, right? And then the end FK, and then I'll adjust
that sleeve angle, the sleeve will kind of swing back too, with the momentum. Alright, and then on the last frame, we just
need to copy all of the first keyframes and repeat them, okay? I'm gonna select all of these keyframes and
hit F9, and then I'm gonna select all of them and hit Command C, Command V, copy paste,
okay? And of course, I did that so I can select
all of these, and move them over and have repeating animation. I could put a marker here and move this to
the beginning. Okay, because the arm animation is probably
gonna be delayed a little bit from everything else, right? So I just moved it forward a few frames, and
it should still loop seamlessly, and it should give us a nice little arm swing, okay? Now of course, you don't want every single
piece of the arm to move at the same speed, so everything's gonna move from the top down. The shoulder moves first, that's the upper
FK, then the elbow will move, so let's delay that by a frame, maybe two frames, then the
hand, so let's delay that by two more frames. And the sleeve will be somewhere in the middle,
maybe in between the lower FK and the hand, right? And so just by selecting all these keyframes
and offsetting them, it gives it a little bit of a looser feel, okay? And that's getting pretty nice, excellent. Alright, let's talk about the other hand now. So this left hand, which you actually can't
see right now, but this is still an IK control, and we're gonna keep it that way, because
this hand is holding a flashlight, okay? And it's kind of rotated in this funky little
position here, so let's rotate the flashlight up a little bit. Okay, and keep that arm out maybe like that,
there we go, maybe that's a little bit nicer, and so what I want is I want it to feel like
this arm is swinging but this one's kind of hanging there, but maybe bouncing up and down
a little bit. So all I need to do is just animate this arm
bouncing up and down, and I'll automatically get shoulder and elbow rotation, because this
is an IK control, so this just shows you how you can mix and match IK and FK when you're
doing character stuff. So let's separate the dimensions on the left
hand, put a keyframe on Y, and again, in this pose, all of the weight has come down towards
the ground, so let's move that flashlight down a little bit, and let's move it a little
closer to her body too. Okay, and then when she steps up, so by frame
six, the flashlight's coming up now with the weight of her body. Alright, and then at frame 12, it goes back
down, then we just copy and paste these keyframes, go to the end, copy and paste all keyframes,
put a marker there, let's select them all and Easy Ease. Right, and let's bring this marker to frame
one, and so now of course I can just move this forward, however many frames I want this
to be delayed from the main walking, I can just slide this layer around. And also, what I might want to do, is go into
my curve editor and stretch some of these bezier handles out, so that it feels like
that flashlight's going to have a little bit more weight to it. Alright, so now let's look at that. Okay, that's kinda cool but I wonder what
would happen if this was actually inverted, so instead of having-- if you look at this
animation it's just a cycling animation, which means if I slide this layer so the next keyframe
lands on my play head, it's now actually gonna be-- it's gonna be playing in reverse, right? And that is too much, and I don't like it,
but I didn't love it when it was perfectly in sync with everything, I think it needs
to be a little bit offset, so I'm just kinda playing with the timing of it, and I'm digging
that a little bit more, and so what I may also do is play with the rotation of this
a little bit too, so I'm going to put a keyframe on rotation, and when she lands on the ground
with each step, maybe that flashlight dips down a little bit, dips forward, so then on
frame six it can sort of come back up a little bit more, and then on frame 12 I can just
do the same thing, copy paste, copy paste, come to the end here, copy paste, Easy Ease,
let me Easy Ease all of them, and now if I hit U, I can grab all my rotation keyframes
and maybe I can-- let me move all of them back like this, and then I'll just nudge 'em
forward a couple of frames. So now you're gonna have the weight of the
flashlight pulling the arm down and the flashlight's rotating a little bit, and it just start to
feel a little bit more natural. And really knowing what to do and which controls
to use to create that, that just takes a little practice, but hopefully what you're seeing
is every single move I'm building almost identically, almost the same way. Alright, now let's talk about the legs a little
bit, 'cause now looking at them, I mean the upper body is doing some kind of nice things
but a lot of the Easy Eases I still haven't really changed, right? And so I want to mess with the curves a little
bit, and actually I think I'm going to start with this shoulder. So let's go back to the right hand, hit U
to bring up our key frames, and let's look at the upper FK animation curve, and I'm gonna
tap the property with this window open so I can select every keyframe and I am gonna
really yank these bezier handles, okay? And what that's going to do is it's going
to make each arm swing happen faster, okay? And it's gonna ease more, right? And so it just gives it a totally different
character, and now what I want to do is a similar thing with the feet, so when they--
here, let me hit P on both of these feet, for the Y position, right? What I want, I want that foot lift to take
longer, so it's faster in the middle and then once it's there, I want it to hang even more,
I want this to be even more extreme. And so then I'll do the same thing on this
foot, right? And I'm really just making more extreme animation
curves, and so what that'll do, is it's going to make the initial foot lift feel slower
but then it's gonna pick up speed and hang there for a little bit longer, it's going
to give it a little bit more character. And this would be a good place to talk about
some of the other foot controls. Now, this particular character, if I deselect
something, if you look at the feet, they're very tiny, and they don't really draw your
eye, if this was a clown, maybe there'd be bigger shoes or something. But when someone walks, their ankles are also
rotating, and there's other things happening with the feet, and this rig does give you
controls for that which is great. If I look at the foot, like the right foot,
there is a-- let's take a peek here. You've got ... the end FK, okay? And what this is going to do, let me zoom
in here, so you can actually see what this is doing. End FK is actually rotating the foot, okay? As I adjust it, it's actually rotating the
angle that the foot's hitting the ground, and so this would be a great thing to animate
also, okay? So on this frame, right, this foot should
be rotated a little bit forward, right? Because the toe is kind of on the ground,
and it's about to lift up, okay? But it should be pointed forward like this,
and so then-- so let me put a keyframe there. As we scrub forward the foot is going to lift
up in the air, and as it lifts up, it's gonna actually rotate backwards. Right, and then by the time it lands, when
it lands, it's going to flatten out and be zero, okay? And so-- then let's look at the timing of
this, right? If I just sort of let this play, you can kind
of see that now it looks like that foot is bending and sort of lifting off the ground,
and the only problem we're going to have, is that eventually we're going to need this
foot, which it's sort of pointing here, we're going to need it to be flat so that it will
loop. So what I'm going to do is I'm actually going
to move this keyframe a little bit, I'm just going to copy and paste the flat one, okay? So that it actually will look like the toe
bends, and it will now be a seamless, loopable thing, okay? And now I can select all these keyframes,
I can Easy Ease them, and I can-- of course I can pull the bezier handles out so that
the motion happens a little bit quicker and more extreme. And at the end here, 'cause the foot is just
gonna hit the floor, I don't need an ease into that movement. Alright, so now just looking at the one foot
that has this control on it, you know, it could use some tweaking but it just helps
a little bit. And let's take one last look at this frame
here, and we may want to pull this value up, so that that foot really swings forward. There we go, just make the keyframes a little
bit more extreme, okay? There we go, cool, let me do a quick RAM preview,
okay? That's a little much, I went overboard, see
how quickly you can take something that looks okay and make it just terrible? Okay, cool, so now we're gonna take those
keyframes we just added, the end FK, I'm gonna copy 'em and I want the same thing to happen
on the left foot but obviously, in time with that foot's footstep, so I'll just paste them
there, and what we could try to do is-- let's see what happens if we offset this, you know? If we just delay this a couple of frames and
delay this a couple of frames, and what you're gonna run into here, is a problem where now
those keyframes don't actually finish, and so what you'd have to do is actually paste
keyframes over here to create that loopable thing. So let's first see if we even like having
it delayed like that. I mean, it's not even something I really notice,
so rather than create a whole bunch more work, why don't we just put these back where they
were? Right, now we've got foot roll. Alright, zoom out, take a look at what we've
got so far. You're gonna see me saving a lot because After
Effects has crashed two or three times while recording this tutorial. Right, so now this is getting there, so what
other things feel like they should move? Well her head, for sure. And there is a head null with a whole bunch
of controls on it, but in its simplest form you can move the head up and down and you
can rotate the head, so I'm going to put keyframes on the Y position of the head, and I'll do
rotation at the same time maybe. So Y position the rotation, so for Y position
remember, on this frame everything's moving down, so that head is gonna come down a little
bit, okay? And we're also leaning, I guess a little bit
back, so let me just rotate the head back a couple of degrees, go to frame six, and
here's where we're sort of leaning forward, right? And all of the motion is going up in the air
like that, so the head's going to move up a little bit. Go to frame 12 and copy and paste these, and
then we can just kinda scrub through and see if this makes sense, right? Yeah, it does, it makes sense. Cool, so let's copy and paste these, come
to the very last frame and select everything, copy and paste it, select everything again,
Easy Ease it and then we'll move all these keyframes to the beginning, and you know sometimes
I'm actually moving the layers, sometimes I'm moving the keyframe, it doesn't really
matter as long as you can keep track of what's going on, and then I'm gonna delay it a couple
of frames, I'm gonna go into my curve editor, I'm gonna select everything and I'm just gonna
pull the bezier handles out so we get a little bit more of an extreme ease, okay? And let's see what we've got now. Alright, so it's moving way too much, moving
way too much, and it's probably rota-- it's definitely rotating too much, so I'm going
to select just the rotation, I have my transform box on so I can hold Command and just scale
that down, and then I'm gonna do the same thing on Y position. Scale that down, so I keep the motion, but
I just make it less, okay? Cool. And the other thing I might mess around with
too, is if I look at-- if I click on this center of gravity null, there's a neck rotator,
okay? And that might actually-- I mean it's probably--
I'm guessing it's doing the same thing as the head rotation. So it's interesting, so you actually have
multiple controls that can kind of do the same thing, maybe this is just an easier way
of doing it, but I've also got a chest rotation, which I haven't used yet, which might actually
help, 'cause this kind of almost feels like the head is moving too much for the amount
the chest is moving, so let's do the same thing real quick for the chest. So we're going to put a keyframe on chest
rotation, let's take a look at it, here it is, and it should maybe be leaning back a
little bit here, at frame six it should be leaning forward a little bit, and that's probably
too much. Then we'll go to frame 12, copy paste, grab
all three keyframes, copy paste, go to the end, select all keyframes, copy paste, select
all keyframes, Easy Ease. And there you go, and then let's offset that
maybe one frame, 'cause I know we offset the head a couple of frames so we can do the chest
by maybe one frame, and all these little subtle offsets, they start to make this make sense,
okay? So this is starting to work and now it's down
to the finishing touches, if we click on the eyes null, first thing I want to do is move
the eyes to the right a little bit, so I'm just gonna nudge-- I'm gonna nudge this, and
I just want Jenny to sort of be looking in the direction she's moving, 'cause that makes
sense, and then there's controls on the eyes null to animate her glasses, and there's this
cool glasses bend controller here, so I'm gonna use that, so I'm just gonna bend them,
right? On this position, everything's moving down,
so let me bend the glasses down just a little bit, that's probably too much, right? Add a keyframe, and then we will go to frame
six, and you guys probably know what's gonna happen next at this point, and hopefully you're
starting to see how quickly, once you kind of get a groove going, how quickly you can
start building a pretty decent walk cycle, alright? And let's maybe offset that three frames,
select all of these and let's really drag those bezier handles out. Right, and so now you're actually going to
get a little bit of animation action on the glasses, and it's subtle, and it's probably
even still too much, so what I might do is grab that transform box, hold Command and
just shrink it down a little bit. 'Cause you want subtlety with stuff like this,
you don't want it to look like her glasses are not really attached to her face, just
a subtle little bounce you're getting. And another great feature of this rig that
Morgan added, is you also have hair controls, and so what I can do, is exact same thing,
I'm gonna open these up, separate the dimensions on each one, and why don't we just do X and
Y at the same time, right? So why don't we start here and on this frame
everything should be down, okay? So I'm going to nudge everything down. And I'm gonna nudge 'em, I'm holding Shift,
right? And just kind of moving these things randomly,
okay? And all the weight's moving down, and it's
gonna sort of pull the hair, it's probably gonna pull the hair a little bit closer to
her face, right? 'Cause as the hair gets pulled down it's gonna
wrap around her face a little bit more. Then as we move up in the air, right? The bangs are gonna come up a little bit,
the right side of the hair is gonna kind of come out and up a little bit, and then the
left side's gonna come out and up, right? So this is gonna kind of happen, and then
on frame 12 we just copy and paste all of these. And then one at a time, copy and paste, copy--
oops. Copy and paste, copy and paste. There's actually a pretty cool script that
I have seen on AE scripts dot com, that lets you paste keyframes from multiple layers back
on to the same layers, which would save some time here. Select all these and Easy Ease them, and then
move all the keyframes back here, and I want the bangs to be offset maybe two frames, and
then everything else can be offset kind of randomly from there, okay? And because I have all those extra keyframes
back here I know it's going to loop seamlessly. I also will go into my animation curve editor
and just select everything real quick. Like this, and just tweak, pull those bezier
handles out, and let's see what that gives us, okay? And so now, that hair-- you can sort of see
the chain of events, right? The feet are the main thing moving, the center
of gravity's slightly delayed, and then you've got the belly, the chest, the neck, the head,
the glasses, the hair, and the arms and all of them are kind of offset in time and that's
going to give you a nice feeling of weight and that's what you want when you're animating
characters. So at this point, I mean you could keep staring
at this and nit-picking it, but you should definitely have the tools now to create a
pretty serviceable walk cycle and be able to adjust it and understand just some of the
basic principles of it. So now let me show you how to actually use
this on a background. So I'm going to now take this pre-comp-- first
let me actually make a new comp here. Let me just make a 1920 by 1080 comp, okay? Six seconds long, and now we can actually
go back to a normal... a normal work space here, so we can actually see things a little
bit easier, alright? And I'm going to grab that final rig that
we made. I'm going to drop it in here, and I'm going
to scale it way down, let's go down to half res here. And here is a little trick that I figured
out, okay? So now-- first we want to be able to loop
this thing, right? We want it to just loop endlessly, and so
what you can do, here's a real easy trick, is you can just enable time remapping, okay? And then extend the layer out however long
you want, and I'm going to put an expression on the time remap, okay? So if I don't have that expression, and we
RAM preview this, you see what happens is it just plays through once and then it's just
gonna stop, and so I'm gonna put an expression on it that's gonna automatically loop it over
and over again for me. And this is one of the most useful expressions
there is, you can use it for a lot of different things, but for walk cycles it's handy. So hold Option, click the stopwatch, type
loop out, and you have to do it just like this, lower-case loop, initial caps on out,
then in parentheses, you need some quotation marks, and you say cycle, close your quotations,
close your parentheses, there you go. Loop out, and then in quotes, cycle. And what cycle does is it plays whatever keyframes
you have on that layer, it's gonna play them, right? So it's gonna go from zero up to one second,
and then it's going to cycle again. Now you can see we've got a problem here,
which is we are actually-- we're getting this empty frame here, so what I wanna do is go
back one frame from this empty frame, put a keyframe there, and then delete the empty
frame, and so now the next frame will be frame one. Now this is something that I don't truly understand,
and maybe someone can explain it. This comp starts on frame zero, right? And then it goes to frame 24, which is one
second, and when you do the loop out cycle thing, if you go to the next frame, it skips
frame zero, it goes right to frame one. Now that actually works fine for what we're
doing, because we want to skip either the first frame or the last frame so that we have
a seamless loop. And so now if I RAM preview this you see I've
got this endless, seamless, walking Jenny, which is great. In order for this to actually be useful, she
needs to be moving forward and she needs to be moving forward at the right speed. And that can be tricky if you try to do it
manually. If I just say position and I separate the
dimensions, and I put a keyframe here on X, and then I go here and I say, "Okay, move
to here," and then I hit RAM preview, right? It's okay, and it's close but look at her
feet. They're slipping, they're slipping, it doesn't
look like she's gripping the ground, and you can just keep tweaking that and trying to
play with it and figure out what the right speed is, but there's a cool little trick
and this is what the trick is. You need to add a guide, so hit Command R
if you don't have your rulers, drag a guide out, okay? And what you want to do is you want to put
that guide where the front foot is, okay? And then you want to scrub through-- okay,
first let me take off the keyframes here, there we go, okay? The idea is the ground should not be moving,
the layers should be moving, so that foot should never look like it's actually leav--
it shouldn't look like it's slipping, so if you go forward one cycle, which we know is
24 frames. Sorry, go forward one cycle of the foot, so
this foot moves backwards 12 frames, and then it comes forward again. So in that 12 frames I know that Jenny should
move, and I'm gonna put a keyframe on X position, go to frame 12, she should now be here, okay? And now if I play that, you can see that,
that foot looks like it's stuck to the ground, which is cool, okay, but then it stops. So it sure would be great if I could just--
whatever speed this is happening, just continue that forever, okay? And so there's an expression that will do
that for you, it's really pretty cool, so hold Option, click on the X position, and
it's actually this same loop out expression, so loop out, and then parentheses, quotation
marks, and instead of cycle you want to type in continue, okay? And now what this does is whatever speed the
keyframe value is changing at on the last keyframe, it continues that forever. And now, let me zoom out, and you can now
see that we have a perfectly stuck to the ground, perfectly-timed, walking Jenny here. Pretty cool, and then you can take a background,
and Joe was nice enough to give me this background to use. And there you go, you can put this one on
whatever background you want, what I did was actually-- once you get the character walking
at the right speed, pre-comp that whole thing, right? So now I can parent-- I need to actually open
up my-- I need to open up a different column to be able to do this, let me open up myparenting
column. You can now parent this to the scene, and
if you wanted to put a little camera move on there, you could right? And do something like this, right? And so now you've got a character that walks
and looks like they're actually attached to the ground and everything's great, okay? Now I know in the example animation I actually
had the character stop, and I'll show you how I did that. I'm not going to walk through every step,
because it would just take too long, but I will show you the work flow that I used for
that. So if I go to my final comp here and we look
at this full walk cycle, what I actually have is two separate animations, I have my walking
animation here, right? But then at a certain point I swap that out,
and I have a completely separate timeline here, let me zoom out a little bit, and in
this timeline, all I animated was one step, and then stop, okay? I animated this separately, and then in my
pre-comp, where I sort of worked out the speed that the layer needs to move, at a certain
point I just swap out for the new rig that stops walking, there you go. And so now in the final comp, you can see
that Jenny walks in, right? Stops, there you go, I also added a little
shadow, and a little camera move, a little depth of field, what have you, but the technique
I used to make it is the same one we just went through. So that was a lot of information, again, I
hope these tutorials are not too jam-packed, I know there is a lot in them, but walk cycles
are-- I'm pretty sure if you went to a character animation school you might spend your first
year on walk cycles and run cycles and really understanding how bodies work and how they
move, and as a motion designer you may not have that luxury and frankly, you may not
need it, you may never need to animate a character this articulated. But you will probably be asked to animate
something walking at some point, and if you know how to do it, and you if know the strategies,
you are good to go, so I hope this was useful, thank you guys so much, thank you one more
time to Ringling and oh dear Lord, here we go, stay tuned for the next day of 30 Days
of After Effects. Thank you guys. Thank you so much for checking out this lesson,
I hope it inspires you to start animating your own characters and this lesson is really
only the tip of the character animation iceberg. If you loved working on this walk cycle and
you wanna get in depth with animating characters, you'll wanna check out our character animation
bootcamp. It's a deep dive into the world of character
animation, taught by the magnificent Morgan Williams. You'll learn all about using the pose-to-pose
method of animation to bring your characters to life in After Effects, and if you wanna
learn more about how to make a rigged puppet in After Effects, like the Jenny LeClue rig
that we used in this lesson, make sure you check out our rigging academy. It's a self-paced treasure trove of rigging
knowledge that will give you all the skills you need, to create rigs both simple and complex,
to use in your animations. Thanks again, and I will see you next time.