So in the past few project lessons, you’ve learned how to model and light this scene…
…and in the most recent skill lessons, I showed you some basic animation techniques.
Now it's time to combine these together and get this rocket moving!
Before we start, notice this long list of items in the Outliner.
These are a “history” of the modeling operations I used to get to my rocket.
However, at this point in the animation stage, I’m not going to be making anymore changes
to my model – so all this history is doing is taking up space
(and slowing my scene down too!).
So I’m going to select my rocket and go to Edit > Delete by Type > History.
There, much cleaner. Then I’ll just rename my lone remaining mesh.
Now, using what we learned, I’ll simply set a keyframe in the rocket’s start position…
…then change the rocket at a later frame…
...set another keyframe...
And now if I play the scene…
…I get a simple take-off animation.
Of course, this isn’t particularly exciting.
Even if I tried to spruce it up by adding more keys to alter the ship’s path…
…it still feels flat and uninspired.
To make a better animation – not just in this case but in all cases –
we need to apply some universal animation principles originally pioneered by these guys.
Uh, like I said, these guys. These are Frank Thomas and Ollie Johnston,
two absolute legends at Disney.
Their book, “The Illusion of Life”, is basically a bible for serious animators.
Today I’ll show you about half of their principles, but you can click the link above
for a very useful primer on the rest.
So first, let’s talk about “anticipation.”
This is when you prepare for a main action by first performing a smaller pre-action.
Some examples might be winding up before a punch, gathering before a jump,
or even a car rolling back slightly before driving forward.
Now in this case, because we went with a cartoon-style rocket,
I actually have an opportunity to mix in the second animation principle here:
“squash and stretch.”
This is when you deform objects to emphasize their speed, momentum, or mass.
You already saw one example of this with the tennis ball in the previous lesson.
Other real-life things like muscles, skin, and clothing will squash and stretch subtly too.
But again, since we’re dealing with a more cartoony style,
we have artistic license to exaggerate as much as we want.
First, I’m going to Shift + select my current keys and move them over to start the take-off later.
Now, for the anticipation, I’m going to squash my ship down
before springing up into its launch.
Which I can do from the Animation menu set by applying a Squash deformer.
Like the deformers I previously used to model my fins,
this creates a handle which I can tweak to squash and stretch my rocket.
By default it squashes from the middle, but I can just move the handle down…
…and then scale up to get a squash from the base instead.
To animate this, I’ll start without any squash on frame 1 and set a keyframe.
…then on a later frame, I’ll squash it and set another keyframe…
And then, just at take off, I’ll return it back to 0 again and set one more keyframe.
By the way, if you can’t see the keys for the handle in the Time Slider,
you may need to hit this Select button to select the shape node instead of the transform.
That’s not bad, although notice how the rocket sort of leaves the squash handle behind
when it takes off.
To fix this, I’ll go back to my first frame
and middle-drag it onto the rocket in the Outliner to parent it.
And now you can see the handle goes with it.
So that’s anticipation. The flipside to that called “follow through”
This is the secondary motion that occurs after the primary motion,
often carried by momentum.
So something like a punch overshooting its target and coming back, landing after a jump,
or a car tilting forward after applying the brakes.
In this case, my follow through is going to be a stretch as the rocket takes off.
So instead of simply returning to 0, I’ll actually overshoot to 0.25 instead…
…then return to 0 once the rocket is done lifting off.
Now my rocket gives a really nice sense of pushing off the ground
before pulling itself into space!
Just a few small tweaks have given my scene a lot more personality.
But if I actually play the scene in real-time instead of scrubbing, something still feels off.
The pacing just doesn’t feel right.
This is where “Timing” comes into play.
While the name seems simple enough,
Timing is actually a combination of both rhythm and speed.
On the surface, placing keyframes closer or further apart will speed up or slow down motion.
But exactly where you place them matters too.
In general, you want to follow a regular rhythm of major actions happening on seconds,
half seconds, quarter seconds, etc.
Right now, I’ve got all my keyframes spread haphazardly around.
But watch what happens if I just re-time some of the beats
to occur on intervals of 24, 12, 6, or 3.
Suddenly, the rhythm feels a lot better!
Now, let’s practice everything we’ve learned by animating the rocket landing.
First, we need a place for it to land, so I’ll create a sphere...
…then reposition...
...and scale it.
I’ll assign it a new Standard Surface material…
…apply a moon texture…
…which I’ll then reuse as a bump map.
By the way, if any of this looks alien to you, this is a process I detailed in part 6 of this series.
Now, I need to alter the course of my rocket.
I could try redoing my keyframes the traditional way,
but it doesn’t feel very intuitive to chart a path like this...
...and it doesn’t look very good either.
So, I’m going to delete all the frames on just my rocket (not my squash handle)
and show you a better way.
To make a more convincing animation, I’m going to apply another animation principle: Arc.
This is about how most natural actions occur along curved trajectories,
from bouncing balls, to throwing arms, to yes… even rocket flightpaths.
To get a nice arc, I’m going to go up to Create > Curve Tools > Bezier Curve.
Next, I’ll switch from the Perspective View to the Front view.
Then just keep click dragging to draw out my path.
I like the Bezier Curve tool because it gives me these tangents, just like in the Graph Editor,
that let me really control the curvature.
And don’t worry too much about getting it perfect – you can always re-adjust later.
Once you’re done, hit Enter.
Now, to fix my rocketship to the path I’m going to use something called a constraint
to literally constrain it to the curve.
So I’ll select my rocketship and Shift + select my curve,
and go to Constrain > Motion Paths > Attach to motion path.
Well, my rocket is certainly attached to my motion path, but it’s not oriented correctly.
That’s an easy fix though. I’ll just select my motion path, go into the Attribute Editor,
change the Front Axis to Y and the Up Axis to Z.
Now I can use Control Vertex mode with the Move Tool
if I want to make some curve adjustments.
There we go. So far so good.
Now that the curve is positioned how I want, I just need to adjust the timing a bit,
since the rocket is taking off a bit too soon.
So I’ll hit the Select button down here to select my motionpath…
…then Shift + select the first key and middle-drag it forward.
FYI, these keyframes actually represent this U Value attribute,
which is the percentage of the curve the rocket has travelled.
We’ll be using this again in a minute.
Now the take-off and flight plan look good, but we haven’t exactly stuck the landing.
Instead of just crashing the ship into the moon,
I’m going to readjust the path to have it settle gently.
If you need to add a Control Vertex or two, you can select the Bezier Curve tool again,
click the last vertex on the curve and then continue drawing it.
There, now the rocket lines itself up before landing.
Notice how it flips at the moment, but we’ll fix that shortly.
Right now I just want to focus on timing.
Currently, the path traversal is very even.
But I want the landing to be much slower than the rest of the flight.
So to do that, I’m going to re-key the U-Value at frame 120 so that the rocket is just at the peak,
...then make a new key 72 frames later (3 seconds) to have it slowly land on the moon.
By the way, this upward curl over the landing area can be considered my anticipation!
Finally, let’s fix that flipping problem.
If I go back to the perspective view, notice there’s a couple of places where the rocket flips.
A few times during its flight,
and then a couple more times upon landing.
To fix the former, let’s give the rocket something to point at.
Go to Create > Locator.
A locator is like a marker in your 3D scene.
It doesn’t have any geometry and won’t appear in renders, but is useful for marking locations.
In this case, I’ll pull it way out here and rename it “rocket_aim”
Then I’ll go back to the motionpath, and change the World Up Type to Object Up.
And then just put in “rocket_aim” as the object.
Now as the rocket lifts off, it keeps pointing at the locator.
You can then animate the locator to control the rocket’s facing direction throughout its flight.
Now the last thing I need to do is fix the landing.
If I scrub to the apex of the rocket, you can see that it’s right around this frame
that I need to flip around and start moving backwards.
I can do that by checking this Inverse Front attribute to invert it on the curve.
So I’ll keyframe it…
Then go back a frame, and keyframe it unflipped.
And now the rocket always faces the right way.
If the transition looks a little jerky, you can blend it by animating some twist.
And then I’ll just repeat that here.
And finally, I'll use the squash deformer to animate a little follow through on touchdown.
And that’s it! All that’s left to do is hide your curve, locator, and deformer,
then show of your final animation!
So, at this point you’ve learned how to model some simple objects,
light and shade them to look beautiful, and apply some basic animation
using tried and true animation principles.
With this basic skillset, there’s no end to the things you can do!
But in the tenth and final part of this series,
I’m going to take you just a little beyond the realm of beginner material,
to give you a taste of what’s possible if you’re willing to take your knowledge
just a little further.
So keep an eye out for that,
and as always please Like and Subscribe if you found this content useful!