aybu - ceng505 advanced computer graphics · 2016-11-09 · traditional animation: storyboarding n...

136
Computer Animation AYBU - CENG505 Advanced Computer Graphics

Upload: others

Post on 14-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Computer Animation

AYBU - CENG505 Advanced Computer Graphics

Page 2: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Computer Animation = Making Things Move

Page 3: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Computer Animation Used In

n  Movies n  Special Effects n  Games n  Human Computer Interaction n  Scientific / Data Visualization

Page 4: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Topic Overview

n  Traditional animation process n  Keyframing and interpolation n  Modeling and animating articulated figures n  Motion capture n  Motion editing n  Physically based (dynamics) n  Natural phenomena (plants, water, gas) n  Rendering issues (compositing, motion blur…) n  Other research topics

Page 5: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Traditional Animation

n  Computer animation builds on techniques and tools from traditional animation.

n  Film runs at 24 frames per second (fps) q  That’s 1440 pictures to create per minute q  1800 fpm for video (30 fps)

n  ~200.000 frames for a 90 min movie

Page 6: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Traditional Animation Pipeline

Story

Storyboards Scene Layout

Character Design

Visual Development

Keyframes In-betweens

Painting

Page 7: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Traditional Animation: The Process

n  Storyboard q  Sequence of drawings with descriptions q  Story-based description

n  Key Frames q  Draw a few important frames as line drawings

n  For example, beginning of stride, end of stride q  Motion-based description

n  In-betweens q  Draw the rest of the frames

n  Painting q  Redraw onto acetate Cels, color them in

Page 8: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Traditional Animation: Storyboarding

n  The film in outline form q  specify the key scenes q  specify the camera moves and edits q  specify character gross motion

n  Typically paper&pencil sketches on individual sheets taped on a wall q  Still not very many computers…

Page 9: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Traditional Animation: Storyboarding (from A Bug’s Life)

Page 10: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Storyboarding: Key Issues

n  Does the shot sequence q  maintain continuity? q  not confuse the audience? q  contain variations in pacing?

n  Is the story clear? q  Is the information clearly presented? q  Are the characters clearly portrayed?

n  Possible to do it with the time and budget? q  The techniques necessary to pull it off?

Page 11: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Keyframes

Page 12: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Principles of Traditional Animation 12 Principles • Squash and stretch • Anticipation • Staging • Pose to Pose • Follow Through • Slow In , Slow Out • Arcs • Secondary Action • Timing • Exaggeration • Solid Drawing • Appeal Introduced to computer animation in 1987 in a SIGGRAPH paper by John Lasseter The Illusion of Life, Disney Animation

Page 13: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Next reading assignment

“There is no mystery in animation.. It’s really very simple, and like anything that simple, it is about the hardest thing in the world to do.”

Bill Tytla, Walt Disney Studio, June 28, 1937

Page 14: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Computer Assisted Animation

n  Computerized cel painting q  Digitize line drawing q  Color using seed fill q  Widely used in production (little hand

painting any more) q  e.g. Lion King

n  Cartoon in-betweening q  Automatically interpolate between two

drawings to produce in-betweens (morphing)

q  Hard to get right n  in-betweens often don’t look natural n  what are the parameters to interpolate?

Not clear... q  not used very often

Page 15: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Digital Animation Pipeline Story

Storyboards Scene Layout

Character Design

Visual Development

Modeling Animation Shading & Texturing

Lighting Rendering

Post Production

Page 16: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Principles of Traditional Animation

Page 17: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Principles of Traditional Animation

n  To study computer animation, useful to understand traditional animation principles

Page 18: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

12 Principles

n  “Cartoon Physics” q  Squash and stretch q  Timing q  Secondary Actions q  Slow In , Slow Out q  Arcs

n  Aesthetics Actions q  Exaggeration q  Appeal q  Follow Through

n  Effective Presentation of Actions q  Anticipation q  Staging

n  Production Techniques q  Straight Ahead q  Pose to Pose

Introduced to the computer animation community in 1987 in a SIGGRAPH paper by John Lasseter

Page 19: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Video

n  Luxo Jr. (again)

n  Geri’s Game

Page 20: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

12 Principles

n  “Cartoon Physics” q  Squash and stretch q  Timing q  Secondary Actions q  Slow In , Slow Out q  Arcs

n  Aesthetics Actions q  Exaggeration q  Appeal q  Follow Through

n  Effective Presentation of Actions q  Anticipation q  Staging

n  Production Techniques q  Straight Ahead q  Pose to Pose

Introduced to the computer animation community in 1987 in a SIGGRAPH paper by John Lasseter

Page 21: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Cartoon Physics: Squash and Stretch

n  Squash: flatten an object or character by pressure or by its own power

n  Stretch: used to increase the sense of speed and emphasize the squash by contrast

Page 22: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Cartoon Physics: Squash and Stretch

Approximately maintain volume...but distort its shape over time

Page 23: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Cartoon Physics: Timing

n  Timing related to weight: q  Heavy objects move slowly q  Light objects move faster

n  Important to define motion n  Animators draw a time

scale next to keyframe

Page 24: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Cartoon Physics: Secondary Actions

n  A secondary action is an action that results directly from another action

n  Usually, secondary actions support main action and typically represent physical reactions

n  Important in heightening interest and adding a realistic complexity to the animation

Page 25: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Cartoon Physics: Secondary Actions

Page 26: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Cartoon Physics: Slow in & Slow out

n  Concerned with how things move in space

n  Animator defines the most important or key frames

n  Instead of having a uniform velocity objects slow in and slow out of poses at extremes

n  Model inertia, friction, viscosity

n  Mathematically, 2nd and 3rd order continuity of motion

Page 27: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Cartoon Physics: Arcs

n  Visual path should be arc q  Rather than a straight line

n  Can be a problem for computer methods: q  Fast movement = straight

lines n  Solution:

q  Use independent curves for position interpolation and speed control

Page 28: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Aesthetics: Exaggeration

n  Not arbitrarily distorting shapes/actions n  Any parameter can be exaggerated:

q  Scene design, object shapes, action, emotion, color, sound

e.g. body proportions of Luxo Jr.

Page 29: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Aesthetics: Appeal

n  Creating a design or an action that the audience enjoys watching

Page 30: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Presentation: Anticipation and Staging

n  Action: q  Anticipation + Action + Reaction

n  Anticipation q  The preparation for an action

n  Staging q  Presenting an idea so that it is

unmistakably clear. q  This idea can be an action, a

personality, an expression, or a mood.

q  An important objective of staging is to lead the viewers eye to where the action will occur so that they do not miss anything.

Page 31: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Aesthetics: Follow Through

n  Termination part of an action. q  Overlapping: establishes next action's relationship by

starting it before the first action has completely finished. n  Keeps interest of the viewer: no dead time

between actions

Page 32: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Production Techniques: Straight Ahead

n  Animator starts at the first drawing in a scene q  Then draws all subsequent frames q  à until reaching the end of the scene.

n  Used for wild, scrambling action. q  Creates very spontaneous and zany looking

animation

Page 33: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Production Techniques: Pose to Pose n  Animator carefully plans out animation

q  Draws a sequence of poses, i.e., the initial, some in-between, and the final poses

q  Then draws all the in-between frames (computer draws inbetween frames).

n  Used when scene requires more thought n  When poses and timing are important.

Page 34: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Traditional to computerized

n  Traditional animation uses 12 design principles to create ‘illusion of life’

n  Computer animation borrows these techniques from traditional animation

n  Further information: q  Thomas, Johnson, The Illusion of Life: Disney Animation (~1000

pages, suggested if you want to know traditional animation principles)

Page 35: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Keyframing

Page 36: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

What is a Key?

n  Anything can be keyframed and interpolated q  Position, Orientation, Scale, Deformation, Patch

Control Points (facial animation), Color, Surface Normals…

n  Special interpolation schemes for some types of parameters (e.g. rotations) q  Use quaternions to represent rotation and

interpolate between quaternions n  Control of parameterization controls speed of

animation

Page 37: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Keyframing Basics

n  Despite the name, there aren’t really keyframes, per se. n  For each variable, specify its value at the “important” frames.

Not all variables need agree about which frames are important.

n  Hence, key values rather than key frames n  Create path for each parameter by interpolating key values

Page 38: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Keyframing Recipe

n  Specify the key frames q  rigid transforms, forward kinematics, inverse

kinematics n  Specify the type of interpolation

q  linear, cubic, parametric curves n  Specify the speed profile of the interpolation

q  constant velocity, ease-in,out, etc. n  Computer generates the in-between frames

Page 39: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Keyframing Pros and Cons

n  Gives good control over motion n  Eliminates much of the labor of traditional animation

q  But still very labor-intensive

n  Impractical for complex scenes with everything moving: q  grass in the wind, water, and crowd scenes, for example

n  Now, in more detail: q  how to interpolate and what to interpolate (positions for this

lecture, orientations next time)

Page 40: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Keyframing

n  Interpolation n  Motion Along a Curve (arc length) n  Interpolation of Rotations (quaternions) n  Path following

Page 41: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Interpolation

n  Foundation of animation is interpolation of values. n  Given: a list of values associated with a given

parameter at specific frames (called key frames or keys) of the animation.

n  Goal: how best to generate the values of the parameter for the frames between the key frames.

n  The parameter to be interpolated may be q  a coordinate of the position of an object, q  a joint angle of an appendage of a robot, q  the transparency attribute of an object, q  any other parameter

Page 42: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Interpolation

n  The simplest case is interpolating the position of a point in space.

n  Even this is non-trivial to do correctly and requires some discussion of several issues: q  the appropriate parameterization of position, q  the appropriate interpolating function, q  and maintaining the desired control of the

interpolation over time.

Page 43: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Linear Interpolation

Page 44: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Cubic Curve Interpolation

Page 45: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Cubic Curves

n  First issue: interpolation vs. approximation q  Interpolating curve passes through points q  Approximating curve passes near the points used as

weights or control points q  Hermite and Catmull-Rom are interpolating q  Bezier and B-spline are approximating q  Interpolating for data fitting, approximating ok for UI

Page 46: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Interpolation

n  Second issue: continuity q  which interpolation

technique to use q  how smooth the

resulting function needs to be (i.e. continuity), 1st order (C1)

Usually good for animation 2nd order (C2) Good for modeling

0th order (C0)

Page 47: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Interpolation

n  Third issue: whether local or global control of the interpolating function is required. q  Does a small change modify the whole curve or just a small

segment? q  how much computation you can afford to do (order of

interpolating polynomial)

Local control: more intuitive

Global control

Page 48: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Interpolation

n  Local control is more intuitive: q  Almost all composite curves provide local control

n  Curves which provide local control: q  Parabolic blending q  Catmull-Rom splines q  Composite cubic Bezier q  Cubic B-spline

n  Other curves provide less local control q  Hermite curves q  Higher-order Bezier and B-Spline curves

Page 49: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Interpolation

n  Curves play major role in interpolation

Page 50: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Curves

Explicit form: y = f(x) e.g. y=x2

Implicit form: f(x,y) = 0 e.g. x2 + y2 - r2 = 0

x = f(u)

y = g(u)Parametric form:

Good for testing points or good for generating points?

Page 51: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Curves

Space-curve P = P(u) 0.0 <=u<=1.0

u=1/3

u=2/3

u=0.0

u=1.0

Parametric form: P = P(u) = (x,y,z)x = f(u)y = g(u)z = h(u)

Page 52: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Curves

Local v. global control

Computational complexity

Continuity

Interpolation v. approximation Hermite

Bezier

Catmull-Rom

Blended parabolas

Expressiveness

B-splines, NURBS

Page 53: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Curves Hermite Bezier

B-Spline/NURBS Catmull-Rom

Blended Parabolas

Page 54: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Summary

n  Goal of interpolation: q  how best to generate the values of the parameter for the

frames between the key frames. q  Any type of parameter can be interpolated.

n  Various curves to choose from: Curve Interpolating/

Approximating Input Parameters per Segment

Hermite Interpolating P0, P1, P0’, P1’

Bezier Approximating P0, P1, P2, P3

B-Spline/NURBS Approximating Pi, basis functions

Catmull-Rom Interpolating P0, P1, P2, P3

Page 55: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Controlling Motion Along a Curve

Page 56: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Controlling Speed

n  Speed Curve S(t) : q  Input: time t q  Output: distance s (arclength) travelled

n  Reparameterize q  Input: distance s q  Output: parameter u

n  Space Curve P(u) -- Compute point on curve q  Input: parameter u q  Output: point (x,y,z) = Px,y,z(u)

Page 57: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Ease-in/Ease-Out

Page 58: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Speed Curve

n  1. s(t) should be monotonic in t q  i.e. traversed without going

backwards in t

n  2. s(t) should be continuous. q  No jumps from one point to the next

on the curve. n  Normalizing (0-1 range) makes it

easier to use in conjunction with arc length and other functions.

Page 59: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Sine Interpolation

Page 60: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Sinusoidal Pieces n  Another method is to have user specify times t1, t2. n  A sinusoidal curve is used for velocity to implement

an acceleration from time 0 to t1. n  A sinusoidal curve is also used for velocity to

implement deceleration from time t2 to 1. n  Between times t1 and t2, constant velocity is used. n  Done by taking parameter t in the range 0 to 1:

q  and remapping it into that range according to the above velocity curves to get a new parameter rt.

n  So as t varies uniformly from 0 to 1, rt will accelerate from 0, then maintain a constant parametric velocity and then decelerate back to 1.

Page 61: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Sinusoidal Pieces

Page 62: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Sinusoidal Pieces

Page 63: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Parabolic Ease-In/Ease-Out

n  Instead of sinusoidal, use parabolic ease in/out n  An alternative approach and one that avoids:

q  the transcendental function evaluation (sin, cos) q  or corresponding table look-up and interpolation

n  …is to establish basic assumptions about the acceleration and, from there, integrate to get the resulting interpolation function.

Page 64: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Parabolic Ease-In/Ease-Out

n  The default case of no ease-in/ease-out would produce a velocity curve that is a horizontal straight line of v0 as it goes from 0 to 1.

n  The distance covered would be ease(1) = v0*1.

n  To implement an ease-in/ease-out function, assume constant acceleration and deceleration at the beginning and end of the motion, and zero acceleration during the middle of the motion.

Page 65: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Parabolic Ease-In/Ease-Out

Page 66: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Parabolic Ease-In/Ease-Out

Page 67: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Parabolic Ease-In/Ease-Out

n  Specifying motion with acceleration is not intuitive. n  More intuitive if user specifies t1 and t2, and the

system can solve for the maximum velocity

Page 68: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Parabolic Ease-In/Ease-Out

n  Distance function with parabolic sections at both ends.

Page 69: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Parabolic Ease-In/Ease-Out

n  Distance in this case is in parametric space, or t-space, and is the distance covered by the output value of t.

n  For a given range of t = [0,1], the user specifies times to control acceleration and deceleration: t1 and t2.

n  Acceleration occurs from time 0 to time t1. n  Deceleration occurs from time t2 to time 1.

Page 70: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Parabolic Ease-In/Ease-Out n  A problem with specifying motion with

velocity-time curve q  Total distance covered should be 1 (arc length) q  Once total time and distance known, average

velocity is fixed. à Hard for user to specify velocities at key frames

Page 71: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Keyframing: Issues

n  What should the key values be? n  When should the key values occur? n  How can the key values be specified? n  How are the key values interpolated? n  What kinds of BAD THINGS can occur from

interpolation? q  Invalid configurations (pass through walls) q  Unnatural motions

n  Painful twists/bends n  Going the “long way around”

q  Jerky motion

Page 72: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Deformation

Page 73: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Object Deformation

n  Many objects are not rigid q  jello q  mud q  gases/liquids q  etc.

n  Two main techniques: q  Geometric deformations – this lecture

n  Deforms object mesh / geometry directly q  Physically-based methods – later in course

n  Physically accurate simulation of objects n  What is main difference between these two in terms

of creation?

Page 74: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Geometric Deformations

n  Deform the object’s geometry directly n  Main techniques:

q  Non-Uniform Scale q  Global Deformations q  Skeletal Deformations q  Grid Deformations q  Free-Form Deformations (FFDs)

Page 75: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Transformation matrix - diagonal elements

0

1

Sx

Sy

Sz

0

0

0

0

0

0 0

0

00 0

Non-Uniform Scale

Page 76: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Non-Uniform Scale

Page 77: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Warping an Object

Displacement of a seed vertex

Page 78: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Warping an Object

Attenuated displacement propagated to adjacent vertices.

Page 79: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and
Page 80: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Control Point /Vertex Manipulation Edit the surface vertices or control points directly

Page 81: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

2D Coordinate Grid Deformations

Overlay 2D grid on top of object

Map object vertices to grid cells (create local coordinate system)

Page 82: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

2D Coordinate Grid Deformations

User distorts 2D grid verticesObject vertices are remapped to local coor sysof 2D grid

Page 83: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

2D Coordinate Grid Deformations

Initial Grid

Page 84: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

2D Coordinate Grid Deformations

Overlay 2D grid on top of object

Map object vertices to grid cells (create local coordinate system)

User distorts 2D grid vertices

Object vertices are remapped to local coordinate system of 2D grid by using bilinear interpolation

Page 85: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

2D Coordinate Grid Deformations

Initial Grid

Page 86: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Bilinear Interpolation

Page 87: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

2D Coordinate Grid Deformation

Page 88: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and
Page 89: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Skeletal (Polyline) Deformation

Page 90: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Skeletal (Polyline) Deformation

Page 91: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Skeletal (Polyline) Deformation

Interior angle bisectorsPerpendiculars at end points

Page 92: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Skeletal (Polyline) Deformation

d

L

s

Get object

Draw polyline

Map vertices to polyline

Warp polyline

Reposition vertices to polyline

Page 93: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Polyline (Polyline) Deformation

Page 94: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Polyline (Polyline) Deformation

Page 95: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Polyline (Polyline) Deformation

Page 96: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and
Page 97: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Transformation matrix elements - functions of coordinates

f(x,y,z) g(x,y,z)

Global Deformations

Page 98: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Global Deformation

Page 99: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Global Deformation

Good for modeling [Barr 87]

Animation is harder

Page 100: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Global Deformations -- Taper

Page 101: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Global Deformations -- Taper

Page 102: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

x’ = x*cos(f(y)) – z*sin(f(y))y’ = y z’ = x*sin(f(y)) + z*cos(f(y))

Global Deformations – Twist

Page 103: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Global Deformations – Twist

Page 104: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Global Deformations – Rotate

Page 105: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Global Deformations -- Rotate

Page 106: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Global Deformations – Compound

Page 107: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and
Page 108: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Free Form Deformation (FFD)

Deform space by deforming a lattice around an object

The deformation is defined by moving the control points

Imagine it as if the object were encased in rubber

Page 109: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Free-Form Deformations

(not necessarily mutually perpendicular)

S

T

U

Define local coordinate system for deformation

Page 110: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

FFD - create control grid

(not necessarily mutually perpendicular)

Page 111: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and
Page 112: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Extension of 2D Grid Deformation

2D Grid Deformation

FFD -- 3D Grid Deformation

Page 113: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

FFD Deformations Overlay 3D grid on top of object

Map object vertices to grid cells (create local coordinate system)

User distorts 3D grid vertices

Object vertices are remapped to local coordinate system of 3D grid by using tri-cubic interpolation

Page 114: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

FFD - register point in cell

S

T

U

P

Page 115: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

S

T

U

FFD - register point in cell

s = (TxU) . (P-P0) / ((TxU) . S)

TxU

S

T

P

P0

((TxU) . S) (TxU) . (P-P0)

P = P0 + sS + tT + uU

Page 116: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Free Form Deformation (FFD)

n  Local coord system: (S,T,U) n  Point P coordinate along S: n  Same for T,U n  Algorithm:

q  Introduce fine grid q  Deform grid points q  Use Bezier interpolation to get new position

n  Treat new grid points as control points

))/(())(( 0 SUTPPUTs!!!!!!!

×−×=

Page 117: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and
Page 118: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Polyline (Polyline) Deformation

Page 119: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and
Page 120: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and
Page 121: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and
Page 122: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Free Form Deformation (FFD)

The lattice defines a Bezier volume

∑=ijk

ijk uBtBsButsP )()()(),,( p

Compute lattice coordinates

Alter the control points

Compute the deformed points

),,( uts

ijkp

),,( utsP

),,( wvu

),,( wvu

Page 123: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Bezier Solids

n  Trivariate Bezier interpolating function n  In essence, we are interpolating a 3D solid

space q  1D Bezier function interpolates a curve q  2D Bezier function interpolates a surface

n  As with Bezier curves, C1 continuity can be ensured between two control grids

∑=ijk

ijk uBtBsButsP )()()(),,( p

Page 124: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Bezier Solids

Page 125: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

FFD Example

Page 126: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

FFD Example

Better control – more than one block of FFD

Page 127: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

FFD - move and reposition

Move control grid points

Usually tri-cubic interpolation is used with FFDs

Originally Bezier interpolation was used.

B-spline and Catmull-Rom interpolation have also been used (as well as tri-linear interpolation)

Page 128: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

FFD - extensions

Hierarchical FFDs

Animated FFD

Static FFD that object moves through

Non-parallelpiped FFD

Page 129: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

FFD - films and videos

examples

Boppin’ in Bean Town by John Chadwick

Facit demo by Beth Hofer

Balloon Guy by Chris Wedge

Page 130: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Animation with FFD

n  Hierarchical FFD q  Coarse level FFD modifies vertices and finer FFD grids

n  Moving object through deformation tool q  Can move the tool itself

n  Modifying control points of FFD q  Any technique applies

n  Key frame n  Physics based

n  Example: q  FFD is relative to wire skeleton q  Moves of skeleton re-position FFD grid q  Skin position is computed within new FFD

Page 131: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

FFD Animation

Animate a reference and a deformed lattice reference deformed morphed

Page 132: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

FFD Animation

Animate the object through the lattice reference deformed morphed

Page 133: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

FFD Animation Move FFD control points

Page 134: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and
Page 135: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

A few examples

n  https://www.youtube.com/watch?v=kkPUU_VXTAc

n  https://www.youtube.com/watch?v=pE8KGVwy2ZI

Page 136: AYBU - CENG505 Advanced Computer Graphics · 2016-11-09 · Traditional Animation: Storyboarding n The film in outline form q specify the key scenes q specify the camera moves and

Next time

n  Motion capture n  Human animation n  Natural phenomena

q  Fluids, Smoke etc.

Thanks to Tolga Çapın, for most of these slides