UC Berkeley Main Campus

Art 172: Foundations of Computer Graphics Animation

Department of Art Practice, Center for New Media, Fall 2004

Week 3: Key Frames

PIXAR co-founder John Lasseter translated insights from classical hand animation to CGI animation in his classic SIGGRAPH papers Animation Principles (1994) and Principles of Traditional Animation (1987). Read these papers in their entirety...they are the founding documents of CG animation. We will discuss each of his principles in class, and implement them with the equally classic bouncing ball assignment. To accomplish the bouncing ball and any other keyframe animation, we first need to define an action, in this case a ball bouncing up and down. We can animate the action once and then loop it to show an ongoing bouncing ball. Such an animation which is designed is called a cycle or a clip. First, we determine duration of the animation cycle in frames. The duration determines the nature of the ball and its bounce. We set the duration of our time window to match the duration of the cycle. Next, we create a simple ball and a plane. Next, we determine the starting and the ending position of the ball. The starting position is the first frame of the time window, usually 0. We set a key frame to anchor the ball touching a plane. Then we set the ending position for the ball, which is slightly above the plane, at the end of the time window, typically at frame 30. Next we set another key frame in the middle of the cycle for the apex of the ball's bounce. In playback we can assess if the bounce seems natural. In further steps, we adjust the velocity of the ball using the Window > Animation Editor > Graph Editor by changing the angles of the animation curve handles. Note that the Graph Editor shows the animation curves of the channels of the selected objects only. When your ball is not selected, its animation curves will not show. Highlight one of the channels in the Graph Editor to see the curve for only that channel. In this assignment, we are mostly interested in the y-axis channel. The y-axis channel animation curve was created when we set the keyframes for the three initial positions of the bouncing ball. Further adjustments include the squash and stretch channels (x-, y-, z-scale) and the rotation of the ball. Although the assignment seems simple, it is not easy to give the ball a specific narrative quality. For inspiration watch the classic Luxo Junior.

Assignment 3: Key Frame Animation > Ball and Stairs

Select a specific type of ball (tennis, ping-pong, lead, etc. ) and animate it bouncing down a staircase. Model the staircase through a collection of primitives. The ball should not be textured, the challenge is to show the nature of the ball through its motion only. Your animation may be 30 seconds long only. Make a playblast of your animation and post it at art.berkeley.edu/coursework/niemeyer/courses/art172/art_172_wk03/student in a folder named as follows: firstinitial_lastname_firstinitial_lastname_a03. This assignment is due next Wednesday. For an extra bonus point, copy sound of the bouncing ball into the animation and animate to match.

Websites

Main Course Website
Biped Motion
Last Year's Finals