Learn Maya Animation – Bouncing Ball – Part 3

By Geoff Beatty

Learn Maya Animation – Bouncing Ball – Part 3

By Geoff Beatty

The saga continues…

In the first two installments of this tutorial, you learned how to create a pretty good, albeit generic, bouncing ball in Maya.  The first part dealt with setting basic keyframes for position and rotation.  The second part dealt with using the graph editor to shape those keyframes into a serviceable ball.  Now, we turn our attention to making this ball look like something specific, like a baseball or a bowling ball or a beach ball or whatever.

Looking and Interpreting

As I mentioned in the previous installments, it’s always a good idea to find some reference footage (good) or shoot your own (better).  I’ve included a youtube video below that has a lot of different types of balls being dropped or tossed.  This is a really great example:

Now, what’s important is that we don’t just try to copy these exactly.  That would be like tracing and tracings don’t really convey the character that we are going for.  Better would be to look at some of the footage, frame by frame if possible, and determine what the overall qualities of the bouncing ball are.  For instance, does its height decrease a little or a lot with each bounce?  Does it squash a little bit when it hits the ground, or is it fairly rigid?  Does it seem to hang in the air a bit, or is it a fairly fast bounce?

It’s important to figure this out, or at least decide what you’re going for before you start messing with your bounce.  It would be very helpful in fact to sketch out your idea of what the bounce is going to look like.  Don’t overplan it though.  Have an attitude of experimentation and don’t be afraid to exaggerate.

Timing, Interpolation, and Squash and Stretch

There are two basic things that we will be adjusting.  The first is the timing of the bounces.  That involves moving keyframes around in the timeline or graph editor.  The second thing is the interpolation between the keyframes.  This is a graph editor only operation.  We’re going to work with the in and out tangents of the keyframe to change the way the ball moves from one point to the next.  Finally, depending on the example, we’re going to be adding some squash and stretch to the ball.

An Example

Just for the sake of this example, let’s pretend this ball is a beach ball.  A beach ball moves fairly slowly, retains a high level of bounce, and is slightly squishy.  Now how does that translate into Maya?

Our first step is to look at the placement of the keyframes.  My generic ball is a little fast, so I’m going to go into the timeline and adjust the keyframes.  I’m going to do that by SHIFT-LMB dragging in the timeline to select all the frames.  You’ll notice that when I do that, it creates a red selection of the keyframes and also places some arrows at the middle and both ends.  I’m going to pull on the right-most arrow, the circled one in the screenshot, to basically scale those keys out on the timeline so that they will be slower.  For my taste, dragging it to 60 seems about right to me (before I go on, I’m going to right-click in the red area of the selected keyframes and choose “snap” – that will make sure all the keyframes are on whole numbers rather than half-frames).

That slows things down, but now I need to get the height decreasing believably from one bounce to the next.  It’s not like a flat basketball, so it won’t be completely dead when it hits the ground, but it does decrease slightly.  In the graph editor, I’m going to take the second and third “up” keyframes on the Translate Y attribute and move them down (remember to have the move tool selected).  You may have to adjust the tangents on the “bounce” keyframes to maintain a nice curve (screenshot).

The last thing I’m going to add is some squash and stretch to the ball as it bounces.  I’m going to add only a little bit, because too much will look strange.  However, I urge you to experiment with it once you get started.  You can get some pretty startling and funny results.

I’m going to advance the playhead to the frame just before the first bounce (in my case frame 12).  I’m going to set a keyframe on the scale attributes by hitting SHIFT+R.  Then I’m going to go to the next frame and using my scale tool, I’m going to scale it down in the Y-axis.  You might have to compensate for it pulling off the floor by moving it down a bit.  Then, I’m going to scale out in the X and Z axes because when you push down on any sort of ball, the sides push out.  Next, I’m going to advance one more keyframe and scale the ball back to its normal state.

Although this one frame squash doesn’t seem like much, it adds a little spice of believability to something that would otherwise look remarkably generic.  You can add it to the next two bounce frames, of course decreasing the amount of squash each time as the ball loses energy.

Going Further

Well, you’ve reached the end of this tutorial, but you’ve got a lot of room to experiment now.  Try different timings, interpolations, whatever.  Don’t be afraid to exaggerate or make it look like it’s got a mind of its own.  If you can make a plain old sphere look like something that it’s not, then you’re already on your way to becoming a great animator.

You can read more about Maya Animation here:

Have you read these additional posts about Maya Animation?

Part 1: Learn Maya Animation

Part 2:  Learn Maya Animation

Learning Maya Animation One Step at a Time

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ready for summer classes and camps?  Enroll for Summer Camp Now!  Please view these Digital Media Academy links for adult, teen, preteen and kids summer day and residential overnight camp listings.

Classes for adult learners:  Digital Media Academy Course List

Overnight and day summer camps for teens:  Digital Media Academy Summer Camps for Teens

Day and sleepaway summer camps for kids:  Digital Media Academy Summer Camps for PreTeen Kids

Click here summer camps for young children:  Digital Media Academy Summer Camps for Kids