Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranรฎ)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
- [Instructor] Let's polish our bouncing ball.
The first thing I will do
is select all the key, press T
and switch to Bezier.
Now we have interpolation between our keyframes
and the first thing we can see
that we get some slowing down
or easing before the ball touch the ground.
You can switch to the graph editor
through the header or pressing Control + tab
when you are in the action editor.
I have activated the display selected only
and I will start polishing the route of my ball.
When looking at the curve,
I can see that only the z and y curves
are currently animated.
All the rotation, scaling and x location curve are flat.
To make my editing easier,
I will expand the root panel
and I will just hide all the curves
that I'm not using,
only keeping the z and y location curve.
Remember what we have seen in the previous chapter.
When an object is falling,
it is at its maximum speed
just before hitting the ground,
so I can select my z contacting keyframe,
press V and switch it to three
and then rotate the left handle
to get a proper curve.
It already feels way better.
But I'm a bit disturbed by the y motion of the ball.
The frame just before it contact the ground
looks a bit weird.
And this is because we have easing on our y curve.
The y curve has an S shape
between the IS point
and it's contacting pull.
But as seen in the previous chapter,
when a ball is falling,
it is accelerating until it touch the ground
but its motion forward is pretty constant
because even if there is air friction
that will slow down the ball,
on such a motion, it's barely noticeable.
So I can switch both handles to free our vector
and align them to get a more linear interpolation.
So as a first polishing path or splining path,
I will simply repeat this process on each bounce.
To get a clean viewport,
I'm activating and deactivating the overlay
with a shortcut I've set previously.
So I will break all the z-axis handle
by switching them to vector
on the contacting frame.
I will remove the intermediate frame on the y-axis
because it's useless
since we will create a linear interpolation
between the contacting and air pose,
switching our handles to vector.
I will use this method each time the ball is airborne
but on the final stage of the animation,
I will keep the easing toward the very last keyframe.
So as you remember in the previous chapter,
I like to keep the ball a bit longer in the air generally
just for style sake.
So on the z curve,
I will take each key where the ball is in the air
and I will slightly scale the handles.
This way, the ball will rise a little faster in the air
and it will be kind of thwarting a bit.
Please consider that animation is not a linear workflow.
And I will remove some keyframe,
remove them, retime some part of the animation
and tweak it a lot.
So it's a lot of back and forth
before you achieve a decent result.
And you can tweak an animation forever
but there is a moment where you have to stop.
Before the second bounce,
I feel like there is a slight glitch in the animation
because the ball is staying too long on the ground.
So I will shorten this hold on the ground by one key,
offsetting all the keys after key number 20.
As it does improve the animation,
I will do the same between frame 25 and 26.
There is a hold on the ground
but I feel it's too much.
So I will get rid of frame 26
by offsetting it onto frame 25
so that on the very last bounce,
the ball is staying on the ground only for one frame
instead of two.
If we now have a closer look to our y curve,
we can see that we have a pretty logical pattern.
Each time the ball touch the ground,
the y curve get flatter and flatter,
meaning that the ball is losing speed
on each impact but when airborne,
it has a linear movement.
And as soon as it stays on the ground,
we will have a slight easing
from frame 29 to frame 43
when the ball is slowing down.
Watching the animation again and again,
I feel like there are still some glitches
and some bugs I have to fix
and when having a closer look at my z curve,
I can see that I have some easing
after the impact, which is not correct.
So I will fix this.
After those modification,
my animation should look better
but I still have some glitches.
And this is because all the transformation we have done
with the squash and stretch
haven't been polished
and haven't be retimed.
I've made a few modification
on the timing of the route of my ball,
so now the other animation that were in sync
during the blocking stage
are no longer in sync.
So I will deactivate all the other transform channel
just to see my root motion.
And now I can see that it feels way better.
So there is still this moment
where the ball stops on the ground
but this is because we will have motion
through the squash and stretch.
So without the squash and stretch,
it looks a bit weird
but as I renabled it and as I will be polishing it,
I will be able to fix the problem here.
If you want your animation to look a bit more realistic,
just remove those holding frame
and just make the contacting pose on one frame.
Then reduce a bit the squash and stretch.
This is just a matter of personal preferences.
I like it a bit stylized,
so I'll keep those holding poses.
I will now work on the upper squash and stretch controller.
This one is going to be pretty easy to polish.
I select the first keyframe
and press on the dot key on the num pad to frame them.
I'm mainly watching the orientation of the ball created
by the stretching effect.
You can also calculate the motion path of this ball
if this does help.
Here what I want is to give back a bit of verticality
to the ball.
So I will slightly offset the beginning
of the stretching on the y-axis.
I will hide the z curve by clicking the I icon
and then select the first keyframe,
press Shift + D to duplicate it
and move the duplicated key on frame three.
As it looks a bit too delayed,
I will move back this key on frame number two
and then I will switch the handle type to three
so that I can shape a bit the curve.
This way, I have a better feeling
that the ball is currently aiming
or pointing toward its landing spot.
Then I will work on the z curve
that currently squash and stretch the ball the most.
And I will just switch the impact point to vector
because this is an impact frame
where the ball switch from squashing to stretching again.
Then I will go onto the next jump.
I will reselect my root bone
and I will recalculate the motion path
because it does help me figuring
where the ball is supposed to land
and also where the top of the ball
is supposed to be pointing at
and this is why here,
I will slightly push the top to the ball forward
toward the previous keyframe position
by pushing my z curve a bit up in the graph editor.
I scrub a bit onto my animation
to see how it does move.
Then I will select the z-axis curve,
switch it to vector on this middle frame
and then move forward toward the next jump.
First, I feel like it's offset in time.
So I will select all the curves
and move them by one keyframe prior to the current one.
The ball is currently leaning too much backward
on on these three
and I can figure this by watching the F curve value.
When selecting the keyframe,
I can see that its value is set to -65
and if I select the previous one, it has -56.
It means that this last keyframe is further away
from its value zero
so it means the controller is offset more
and so it's more deforming the ball
than the previous bounce,
which doesn't make sense since this bounce
is less powerful,
losing energy compared to the previous bounce.
So I will push this keyframe
towards zero in the graph editor.
For the very last bounce of the ball,
I don't want any deformation.
So I will just get rid of the next keyframes.
From there, we can watch our animation several time
and jump into polishing the next squashing controller.
I will select the lower green controller
and since the curve are pretty small,
I will use the normalize option
to be able to see my green channel.
Since we have used the upper green controller
to give an orientation to the bounces of the ball,
I don't need to do the same
with the lower controller.
So I will just make my y curve flat
by removing the keys that are offset
because they won't bring anything good to our animation
and they are currently almost useless
as their value is very small.
So just get rid of them.
Now regarding the z-axis
that will allow us to squash the ball in the air
when it's reaching its highest point,
I want it to be very subtle.
So I will offset the starting and ending keyframe
of those motion by two frames.
And I will repeat this process along the whole animation.
I will shorten the length of this motion
and as I go forward,
I will reduce the amplitude of the curve
because again, with energy loss,
I will get the less squash and stretch on this motion.
This controller allow us to add very subtle deformation
to the ball, so it's interesting
to make it as good as possible.
When I'm done with it,
we can clearly see the energy loss
during the motion of the ball.
I will fix the timing of the last squash
because it doesn't occur at the right time.
It's supposed to happen
when the ball is at its highest point.
And then again I can watch my animation several time
to see if it looks okay.
So that's great.
We have a bouncing ball but it's not rolling.
This is because we haven't animated the rotation controller
of the ball yet.
In this case, it wouldn't make sense
to block the spinning of the ball.
Since it doesn't change its shape,
we wouldn't be able to see any change
during the blocking stage.
So I will select all the keyframes
but the first one and get rid of them.
Just press X and confirm.
Then select the first keyframe
and move it on frame eight.
This is the frame where the ball
is contacting the ground.
So I get a flat curve
from frame zero to frame eight.
It means that the ball won't be rolling
while it's in the air.
I want it to start spinning
when it will touch the ground
and when part of the energy of the impact
will be transferred to its rotation.
I will duplicate again the keyframe
and move it to move frame 18.
This is where I want the ball to be spinning already.
Nothing happens because I have disabled
the transform channel.
I need to reenable it.
Now when I move the curve,
the ball should be rotating
but it's barely noticeable
and this is because I need
to unzoom in my graph editor.
Since the value of the rotation is in degree,
I need to drastically modify the curve
and move it onto way higher or lower values
in this case.
Pushing the value down to -360 degree
will make the roll spin forward.
So that's fine.
On the impact, the ball will get full rotation speed,
so I will switch this to vector.
Due to the frequency of the rotation
and the animation, I have a hard time figuring out
if the ball is currently rotating or not
because the ball pattern seems to get aligned
on each frame so it's a bit weird.
So I will get rid of the overlay
to have a better vision of it.
I will also switch the second handle
to vector two because the rotation of the ball
is not supposed to slow in the air
and since I still have some difficulties
to read the rotation,
I will enable all the other controller keyframe
and disable their influence on the animation
so that I can clearly see
if my ball is rotating or not.
The initial air rotation speed
of our bouncing ball is not that important.
What will be important
is the final rotation speed
because it will have to match the speed
of the ball traveling on the ground.
So what we need to do is to duplicate the current keyframe
and move it on the next contact post.
And we need to make the ball spinning a little less faster
than the previous pose
because it's losing energy on each bounce,
so it's also losing rotation speed.
Then we will create a last keyframe on frame 43.
It's the frame where the bouncing ball
is currently stopping in space.
And this time we will switch it's handle type
to Bezier because we need some easing in the end.
We don't need a linear interpolation.
The ball is slowing down
so its rotation is also slowing down.
To make this stage readable, I need the grid
because I will need a point of reference in space
to see if the pattern of the ball
is still aligned with it whenever it's rolling
on the ground.
So I will re-enable the overlay
and I will zoom a lot onto my animation.
Now I will try to find the point
of reference using the pattern of the ball
and the grid.
When I find it, I will Shift and right click on it
to place the 3D cursor.
Now what I want is to make sure
that the pattern of the ball
is pointing toward the 3D cursor as the ball stop.
To do so, just zoom a lot
and then fine tweak the position of your last keyframe.
You will also need to slightly tweak the rotation
or orientation and scale of the last handle
to make sure that we don't have this sliding effect
on the ground.
Just do it by little touch.
If you see that your animation is completely off,
it means that your whole curve is completely off
and the difference between your final key
and the previous key, the key from frame 30
is way too big.
Rotation easing when you have a contact pose
is pretty hard to get right on the first shot,
so be patient, tweak your curve
until you get this nice rotation on the ground
and the feeling that the ball is really rolling onto it.
And if you can't achieve this, don't panic.
Open a new Blender file
and just make the ball rolling and stopping.
Work on the curve until you get this animation right
and you will understand the relationship
between your rotation curve and your translation curve.
It's not a question of math or geometry or whatever.
It's just a question of practice.
It might be a bit complicated at first
but with a bit of training,
you will get comfortable
with this kind of motion pretty soon.
And if you really want to get good at animation,
it's very important
because you will use animation curves every day.
So from there, I can call this animation done
but there were a few glitches
that I wanted to fix.
Those are little things,
so I won't be going in details into it.
I've just added a very small additional bounce at the end
and I've a bit revised the z amplitude of my route
so that the ball get a more even bouncing.
So there is not much you will learn
from the next step.
I'm just refining some of the poses.
I'm doing what we've been doing just before,
slightly revising the timing,
the amplitude of the curve, et cetera.
What you need to understand
is that again, an animation
is never finished until you say stop.
And just work your animation
until you get to a point of satisfaction.
If you're struggling with the animation,
start a new one.
And this is the only way you will progress.
I've said this before
and I will say it a lot of time during this course,
you need to animate to become a good animator.
You need to make this bouncing ball exercise multiple time
until you will get a good result.
This is how it works.
I am still struggling
to get a good bouncing ball result
after several years of animation.
And to bring a character to life,
to animate a character,
you need to first be able
to give it motion and then you will input personality,
input emotion but before you input emotion,
even into a bouncing ball,
you need to learn motion.
All right, enough of philosophical discussion.
Let's go ahead with the next video.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.