Bouncing Ball and Ball Maze

(Term 1: Week 1)

During the first week class of 3D Animation Fundamentals, I was reintroduced with the 12 Principles of Animation. It’s been a long time since I first learned about the principles during my diploma time and it is a very good reminder to revisit the basic to strengthen my knowledges and skills in animation.

______________________________

Task 1: Bouncing Ball Animation

The first task is to animate a ball bouncing on the floor several times until stop.

I was informed that Maya will be our main 3d software to do assignments at UAL. To be honest, I am very new to Maya (I was a long time 3dsmax user that recently switched to Blender), so this task was quite a technical challenge but also very important to help me to get familiar and comfortable with the UI and tools.

I began by creating a simple ‘polygon sphere’ as the ball & ‘polygon box’ as the floor and scaled it up to make it larger. I immediately noticed that I keep hitting the Blender shortcuts when moving around in the viewport and switching tools. I need to train my muscle memory fast so I can focus more on the assignment, which is very important.

My first achievement with Maya

Based on Luke’s demo, I need to change some animation settings in Preferences before I start animating to make controlling tangents and curves in Graph Editor much easier.

The plan is to make the ball drop from height and have several jumps while moving to other side of the screen. Each jump will decrease its height (Y-axis) and distance (X-axis) because the ball will loose momentum and energy during the process. Below is a quick reference I found online as a guide. But I primarily refers to Luke’s demo as I learn the technical of the software as well.

‘Bouncing ball reference’ by www.angryanimator.com
Rough plan for the bouncing path

I placed the ball right on top of the floor and then freeze its transformations so I can revert the ball to its original position, scale & rotation whenever I need especially to quickly put the ball back on the floor for each drop. To animate, I set the first key at the object translations that I want to use and turn on the ‘Auto Keyframe Toggle’, so any change to the ball transformation will be recorded automatically.

Set key at object translations
Autokey Toggle (red color)

The ball started from 10 unit height (Y-axis) at frame 1, then hit the floor (0 unit) at frame 12, and jump to 8 unit at frame 24, hit the floor again at frame 34, 6 at frame 44, 0 at frame 52, 4 at frame 60, 0 at frame 66 and continue until the ball reach at 0. With this calculation, the ball decreases its height by 2 unit each bounce and decreases 2 frames from previous timing each time the ball falling.

The first draft of the animation with the default ‘Auto Tangents’ make the ball movement looks floating and unrealistic without any sense of weight and gravity.

With ‘Auto tangents’

To fix the motion, I changed the curve shapes as the image below. I used ‘Break Tangents’ at some of the keyframes to have more flexible controls especially to create the sharp ‘V’ shape tangents when the ball hit the floor. The smooth curves are applied each time the ball floating in the air to create slow in and out illusion as the ball being pulled by the gravity.

Fixing the curves with ‘Break tangents’

The ball is now bouncing with more realistic motion. It will slowing down when moving upward and faster when falling.

Fixed!

I added the horizontal movement along the X-axis from left to right which move past the bounce animation and slowing down gradually before stopping at the end of the animation. To make the animation more realistic, I manually added a rotation animation to the ball but since it has flat color without any texture, the motion is not really visible. I tried to put a texture but since I’m very new to Maya, I can’t properly add a UV texture to it. So the quickest solution I found is to lower the polygon segments of the ball and… voila! The ball is now obvious rolling!

I don’t apply a squash and stretch since it will have a weird motion because of the rotation.

Final animation

______________________________

TASK 2: Ball Maze Animation

The second task is still about a bouncing ball but this time within a maze or puzzle. Since this is the first week of class at University of the Arts London, I thought something that related to UAL would be great. So I quickly made a simple maze with basic geometries and a big UAL text at the center.

The UAL maze

I want the ball to move like its alive this time and not just simply falling and moving by the gravity only. The ball can now jump and moving by itself.

I started the animation process by posing the ball at all the key positions; the place where it will land and jump. Without making any adjustment to the animation curves, the ball will move through the floor and wall at some areas.

With automatic interpolations

Some of the principles for the curve are still heavily applied here like the previous task. The smooth curve shape is used when the ball is in the air and sharp ‘V’ shapes when the ball hit the floor to create a proper slow in and out.

The highlighted areas are where the ball jumps and falls on the floor

I think the most difficult part in this task is to control the ball position and timing when it’s rolling at the curve surfaces like at the bottom of the ‘U’ text and the half tube shape at the bottom. The ball will keep moving through the surface every time I change the timing or position of some keyframes. Even a slight nudge at the tangents controller in Graph Editor will change the path of the ball. So I had to be very careful when adjusting the animation curve so that it will move like I intended it to and stay above the surfaces.

Final animation

Leave a Reply

Your email address will not be published. Required fields are marked *