Presentation is loading. Please wait.

Presentation is loading. Please wait.

Types of Animation.

Similar presentations


Presentation on theme: "Types of Animation."— Presentation transcript:

1 Types of Animation

2 Animation Animation is about bringing things to life Technically:
Generate a sequence of images that, when played one after the other, make things move One image is called a frame 24 frames per second for film, resolution approx 1600x1200 30 frames per second for NTSC video, resolution less than 640x480 60+ frames per second for “twitch” computer games, 640x480 or higher resolution Interlacing: Display every second row for one frame, every other row for the next. Used in NTSC TV and older monitors

3 Computer Animation In its simplest form, computer animation means:
using a standard renderer to produce consecutive frames wherein the animation consists of relative movement between rigid bodies and possibly movement of the view point or virtual camera This is completely analogous to model animation where scale models are photographed by special cameras

4 Animation Issues When evaluating an animation technique or application, the following things should be considered: How fast can the images be generated? How easy is it to control the appearance of the animation? How much human expertise is required to generate the animation? Can the animation be generated interactively? Application driven: Different applications have different requirements: Feature film animation is different from interactive gaming animation

5 Computer Animation An animation system may be high-level, low-level, or somewhere in between High-level animation systems allow the animator to specify the motion in abstract general terms Low-level systems requires the animator to specify individual moving parameters High-level commands describe behavior implicitly in terms of events and relationships

6 Basic Animation Techniques
Keyframe animation Animator specifies important positions throughout the animation – the keyframes Someone or something fills in the intermediate frames – inbetweening, or just ’tweening Motion capture System captures motion data from a real enactment of the animation The data then drives a virtual character Procedural animation A set of equations or rules are evaluated to determine how the animation behaves (c) 2002 University of Wisconsin 05/09/02

7 Keyframing Keyframe systems take their name from the traditional hierarchical production system first developed by Walt Disney Skilled animators would design or choreograph a particular sequence by drawing frames that established the animation - the so-called keyframes The production of the complete sequence was then passed on to less skilled artists who used the keyframes to produce ‘in-between’ frames

8 Keyframe animation Keyframe is a drawing of a key moment in an animated sequence, where the motion is at its extreme. Inbetweens fill the gaps between keyframes. Every motion is created by animators.

9 Keyframing ACM © 1987 “Principles of traditional animation applied to 3D computer animation” Describe motion of objects as a function of time from a set of key object positions. In short, compute the inbetween frames.

10 Keyframing The original way to animate, and still the most common form for feature animation Process has shifted to computers, but basic approach is the same Underlying technique is interpolation The in-between frames are interpolated from the keyframes Originally done by armies of underpaid animators Now done with computers Which of the techniques that we have learned about is used extensively for keyframe animation?

11 Keyframing The emulation of this system by the computer, whereby interpolation replaces the inbetween artist, was one of the first computer animation tools to be developed. This technique was quickly generalized to allow for the interpolation of any parameter affecting the motion Care must be taken when parameterizing the system, since interpolating naive, semantically inappropriate parameters can yield inferior motion

12 Keyframe animation To produce 3D keyframe animation, the animator builds the behavior of a 3D model by keying parameter values in key frames where the values are at their extremes.

13 Interpolation Interpolating splines are smooth curves that interpolate their control points Perfect for keyframe animation Typically, time is directly associated with the parameter value, controlling speed 2 3 1 Keyframes Animation

14 Interpolating Positions
Given positions: find curve such that

15 Linear Interpolation Simple problem: linear interpolation between first two points assuming : The x-coordinate for the complete curve in the figure:

16 Polynomial Interpolation
An n-degree polynomial can interpolate any n+1 points. The Lagrange formula gives the n+1 coefficients of an n-degree polynomial that interpolates n+1 points. The resulting interpolating polynomials are called Lagrange polynomials. parabola

17 More Interpolation Anything can be keyframed and interpolated
Position, Orientation, Scale, Deformation, Patch Control Points (facial animation), Color, Surface normals… Special interpolation schemes for things like rotations Use quaternions to represent rotation and interpolate between quaternions Control of parameterization controls speed of animation

18 Spline Interpolation 8-degree polynomial spline spline vs. polynomial
Lagrange polynomials of small degree are fine but high degree polynomials are too wiggly. How many n-degree polynomials interpolate n+1 points? 8-degree polynomial spline spline vs. polynomial Slide 18

19 Spline Interpolation 8-degree polynomial spline spline vs. polynomial
Lagrange polynomials of small degree are fine but high degree polynomials are too wiggly. Spline (piecewise cubic polynomial) interpolation produces nicer interpolation. 8-degree polynomial spline spline vs. polynomial Slide 19

20 Spline Interpolation A cubic polynomial between each pair of points:
Four parameters (degrees of freedom) for each spline segment. Number of parameters: n+1 points  n cubic polynomials  4n degrees of freedom Number of constraints: interpolation constraints n+1 points  (n-1) = 2n interpolation constraints “endpoints” + “each side of an internal point” rest by requiring smooth velocity, acceleration, etc. Slide 20 Lecture 10

21 Hermite Splines We want to support general constraints: not just smooth velocity and acceleration. For example, a bouncing ball does not always have continuous velocity: Solution: specify position AND velocity at each point Derivation?

22 Spline-Driven Animation
Spline-driven animation means the explicit specification of the motion characteristic of an object by using cubic splines Cubic B-splines are composite curves made up of several curve segments The curve possesses second order continuity These cubes are commonly used in computer graphics.

23 Spline-Driven Animation
Consider a single segment of the curve defined over the interval 0≤u≤1 The curve is a cubic polynomial which can be specified interactively by defining four control points The particular curve that passes through these points is constrained by the need for second order continuity at the end points of the curve segments Adjacent curve segments share three control points

24 Spline-Driven Animation
Suppose we have interactively specified a spline Q(u) (by giving four control points) that we wish to use as the path for the motion of an object To generate an animation sequence, we need to find the position of the object along the path at equal intervals in time

25 Spline-Driven Animation
In order to do this, we need to reparameterize the curve in terms of arclength Without the arclength parameter, it is not possible to have an object move with uniform speed along a spline Once this has been done, an object positioned on a curve Q(u) can be driven by a velocity curve V(u) = (t(u), s(u)) that plots the arclength s, or distance traveled, against time

26 Keyframing Given keyframes find curves such that What are parameters ?
position, orientation, size, visibility, … Interpolate each curve separately

27 Spline-Driven Animation
Using this information we can derive mathematically the exact form of each of the curve segments as follows: Qi(u) = sum from k=0 to 3 pi+kBk(u) where the pi’s are the control points, and the Bi’s are defined as follows: B0(u) = (1+u)3/6 B1(u) = (3u3-6u2+4)/6 B2(u) = (-3u3+3u2+3u+1)/6 B3(u) = u3/6

28 Spline-Driven Animation
Then the curve is reparameterized in terms of a global variable U If the ends of the curve segments occur at equal intervals with respect to the curve parameter, the curve is known as a uniform B-spline

29 Ease-in, ease-out velocity curve with space curve

30 Spline-Driven Animation
The velocity curve can be generalized to drive any motion parameter The term ‘motion parameter’ then encompasses anything that moves in the animation sequence apart from the usual kinetic variables such as position and orientation Movement could also include color and transparency, for example This methodology is known as general kinetic control

31 Interpolating Angles Given angles find curve such that Angle interpolation is ambiguous. Different angle measurements will produce different motion: ?

32 Interpolating Orientations in 3-D
Rotation matrices Given rotation matrices Mi and time ti, find M(t) such that M(ti)=Mi.

33 3x3 Matrix Rotation Easy to use Moderately intuitive
Large memory size - 9 values Animation systems always low on memory Interpolation is hard Introduces scales and shears Need to re-orthonormalize matrices after

34 Flawed Solution Linearly interpolate each entry independently Example: M0 is identity and M1 is 90-deg rotation around x-axis Is the result a rotation matrix? The result R is not a rotation matrix. For example, check that RRT does not equal identity. In short, this interpolation does not preserve the rigidity (angles and lengths) of the transformation.

35 Quaternions Represents a rotation around an axis
Four values <x,y,z,w> <x,y,z> is axis vector times sin(angle/2) w is cos(angle/2) No singularities But has dual coverage: Q same rotation as –Q This is useful in some cases! Interpolation is fast

36 Euler Angles Three rotations about three axes
Intuitive meaning of values But… “Euler Angles Are Evil” No standard choice or order of axes Singularity “poles” with infinite number of representations Interpolation of two rotations is hard Slow to turn into matrices

37 Euler Angles An euler angle is a rotation about a single axis. Any orientation can be described composing three rotation around each coordinate axis. We can visualize the action of the Euler angles: each loop is a rotation around one coordinate axis.

38 Interpolating Euler Angles
Natural orientation representation: three angles for three degrees of freedom Unnatural interpolation: A rotation of 90-degrees first around the z-axis and then around the y-axis has the effect of a 120-degree rotation around the axis (1, 1, 1). But rotation of 30-degrees around the z- and y-axis does not have the effect of a 40-degree rotation around the axis (1, 1, 1). Gimbal lock: two or more axis align resulting in a loss of rotation degrees of freedom. For example, if the green loop in previous slide aligns with the red loop then both the rotation around the blue loop and the rotation around the red loop produces identical rotation.

39 Higher-Order Interpolation
Tweening uses linear interpolation Natural motions are not very linear Need lots of segments to approximate well So lots of keyframes Use a smooth curve to approximate Fewer segments for good approximation Fewer control points Bézier curve is very simple curve

40 The Bézier Curve T2 t=1.0 T1 F2 t=0.25 F1 t=0.0
(1-t)3F1+3t(1-t)2T1+3t2(1-t)T2+t3F2 T2 t=1.0 T1 F2 t=0.25 F1 t=0.0

41 The Bézier Curve Quick to calculate Precise control over end tangents
Smooth C0 and C1 continuity are easy to achieve C2 also possible, but not required here Requires three control points per curve (assume F2 is F1 of next segment) Far fewer segments than linear

42 Bézier Variants Store 2F2-T2 instead of T2
Equals next segment T1 for smooth curves Store F1-T1 and T2-F2 vectors instead Same trick as above – reduces data stored Called a “Hermite” curve Catmull-Rom curve Passes through all control points

43 Looping and Continuity
Ensure C0 and C1 for smooth motion At loop points At transition points Walk cycle to run cycle C1 requires both animations are playing at the same speed Reasonable requirement for anim system

44 Interpolating Key Frames
Interpolation is not fool proof. The splines may undershoot and cause interpenetration. The animator must also keep an eye out for these types of side-effects.

45 Animating Articulated Structures
Older animation systems keyframe based Newer animation systems use forward kinematics and inverse kinematics to specify and control motion The characters themselves are constructed out of skeletons which resemble the articulated structures found in robotics

46 Traditional Animation Principles
The in-betweening, was once a job for apprentice animators. We described the automatic interpolation techniques that accomplish these tasks automatically. However, the animator still has to draw the key frames. This is an art form and precisely why the experienced animators were spared the in-betweening work even before automatic techniques.


Download ppt "Types of Animation."

Similar presentations


Ads by Google