Computer Animation. AYBU - CENG505 Advanced Computer Graphics

Similar documents
Keyframe Animation. Animation. Computer Animation. Computer Animation. Animation vs Modeling. Animation vs Modeling

Deforming Objects. Deformation Techniques. Deforming Objects. Examples

COMP371 COMPUTER GRAPHICS

CS770/870 Spring 2017 Animation Basics

CS770/870 Spring 2017 Animation Basics

Animation. Traditional Animation Keyframe Animation. Interpolating Rotation Forward/Inverse Kinematics

Animation. CS 465 Lecture 22

Reading. Animation principles. Required:

Basics of Motion Generation

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala

Free-Form Deformation and Other Deformation Techniques

Richard Williams Study Circle Handout: Disney 12 Principles of Animation. Frank Thomas & Ollie Johnston: The Illusion of Life

Animations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala

Reading. Animation principles. Character animation. Goal: make characters that move in a convincing way to communicate personality and mood.

Free-form deformation (FFD)

CS 231. Basics of Computer Animation

Animation Principles CSE 457

Reading. Animation principles. Character animation. Animation Principles

Animation principles. Character animation. Reading. Goal: make characters that move in a convincing way to communicate personality and mood.

Animation principles. Character animation. Reading. Goal: make characters that move in a convincing way to communicate personality and mood.

Animation principles. Reading. Character animation. Animation Principles. Brian Curless CSE 457 Spring 2013

Animation principles. Reading. CSE 457 Winter Required:

Animation principles. Character animation. Reading. Goal: make characters that move in a convincing way to communicate personality and mood.

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/27/2017

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

CS475/CS675 - Computer Graphics. Lecture 16: Principles of Animation

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

The 3D rendering pipeline (our version for this class)

Computer Animation INF2050

COMPUTER ANIMATION 3 KEYFRAME ANIMATION, RIGGING, SKINNING AND CHARACTER ANIMATION. Rémi Ronfard, Animation, M2R MOSIG

Computer Animation. Conventional Animation

animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time

animation computer graphics animation 2009 fabio pellacini 1

To Do. History of Computer Animation. These Lectures. 2D and 3D Animation. Computer Animation. Foundations of Computer Graphics (Spring 2010)

Animation Lecture 10 Slide Fall 2003

Images from 3D Creative Magazine. 3D Modelling Systems

CS230 : Computer Graphics Lecture 12: Introduction to Animation. Tamar Shinar Computer Science & Engineering UC Riverside

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE

Shape modeling Modeling technique Shape representation! 3D Graphics Modeling Techniques

More Animation Techniques

Perception. Animation. Jacqueline Fischer

The Principles of Animation "When we consider a new project, we really study it... not just the surface idea, but everything about it.

4. Interpolation-Based Animation

A bouncing ball squashes on its vertical axis and stretches on the horizontal axis as it strikes the ground.

Three-Dimensional Computer Animation

THE TWELVE PRINCIPLES OF ANIMATION 1. SQUASH AND STRETCH 2. TIMING

Computer Animation. Michael Kazhdan ( /657) HB 16.5, 16.6 FvDFH 21.1, 21.3, 21.4

3D Character animation principles

C O M P U T E R G R A P H I C S. Computer Animation. Guoying Zhao 1 / 66

animation projects in digital art animation 2009 fabio pellacini 1

Interpolating/approximating pp gcurves

Three-Dimensional Computer Animation

2D & 3D Animation NBAY Donald P. Greenberg March 21, 2016 Lecture 7

Computer Animation. Courtesy of Adam Finkelstein

Animation COM3404. Richard Everson. School of Engineering, Computer Science and Mathematics University of Exeter

Computer Graphics I Lecture 11

Computer Graphics. Spring Feb Ghada Ahmed, PhD Dept. of Computer Science Helwan University

3D Production Pipeline

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

CSE452 Computer Graphics

Chapter 9 Animation System

2D 3D CHARACTER COMPUTER ANIMATION ANIMATION INFORMATISÉE 2D 3D SECONDARY NIVEAU SECONDAIRE

COMP 175 COMPUTER GRAPHICS. Lecture 10: Animation. COMP 175: Computer Graphics March 12, Erik Anderson 08 Animation

Why animate humans? Why is this hard? Aspects of the Problem. These lectures. Animation Apreciation 101

3D Modeling techniques

To Do. Advanced Computer Graphics. The Story So Far. Course Outline. Rendering (Creating, shading images from geometry, lighting, materials)

CS559: Computer Graphics

Information Coding / Computer Graphics, ISY, LiTH. Splines

MODELING AND HIERARCHY

AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO F ^ k.^

Course Outline. Advanced Computer Graphics. Animation. The Story So Far. Animation. To Do

Diploma in Graphics Design. Examinations for / Semester 1

Human body animation. Computer Animation. Human Body Animation. Skeletal Animation

Animation II: Soft Object Animation. Watt and Watt Ch.17

Computer Animation. Rick Parent

Space deformation Free-form deformation Deformation control Examples: twisting, bending, tapering

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

Animation Essentially a question of flipping between many still images, fast enough

Physically-Based Modeling and Animation. University of Missouri at Columbia

Animation by Adaptation Tutorial 1: Animation Basics

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Advanced Graphics and Animation

Animation. Representation of objects as they vary over time. Traditionally, based on individual drawing or photographing the frames in a sequence

Introduction to Geometry. Computer Graphics CMU /15-662

CS/INFO 4154: Analytics-driven Game Design

Know it. Control points. B Spline surfaces. Implicit surfaces

Graphics and Interaction Rendering pipeline & object modelling

r ik Computer o 2 Animation

Basics of Design p. 2 Approaching Design as an Artist p. 4 Knowing Your Character p. 4 Making Decisions p. 4 Categories of Design p.

Design considerations

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

Surface Rendering. Surface Rendering

Computer Animation. Algorithms and Techniques. Rick Parent. Team LRN

Introduction to Virtual Environments - Spring Wernert/Arns. Lecture 4.2 Animation & Interaction

In this course we will need a set of techniques to represent curves and surfaces in 2-d and 3-d. Some reasons for this include

CHAPTER 1 Graphics Systems and Models 3

Modeling the Virtual World

Transcription:

Computer Animation AYBU - CENG505 Advanced Computer Graphics

Computer Animation = Making Things Move

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

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

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

Traditional Animation Pipeline Story Visual Development Character Design Storyboards Scene Layout Keyframes In-betweens Painting

Traditional Animation: The Process n Storyboard q q Sequence of drawings with descriptions Story-based description n Key Frames q q Draw a few important frames as line drawings n For example, beginning of stride, end of stride Motion-based description n In-betweens q Draw the rest of the frames n Painting q Redraw onto acetate Cels, color them in

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

Traditional Animation: Storyboarding (from A Bug s Life)

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?

Keyframes

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

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

Computer Assisted Animation n 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 Cartoon in-betweening q Automatically interpolate between two drawings to produce in-betweens (morphing) q Hard to get right q n in-betweens often don t look natural n what are the parameters to interpolate? Not clear... not used very often

Digital Animation Pipeline Story Visual Development Character Design Storyboards Scene Layout Modeling Animation Shading & Texturing Lighting Rendering Post Production

Principles of Traditional Animation

Principles of Traditional Animation n To study computer animation, useful to understand traditional animation principles

12 Principles n n Cartoon Physics q Squash and stretch q Timing q Secondary Actions q Slow In, Slow Out q Arcs Aesthetics Actions q Exaggeration q Appeal q Follow Through n n Effective Presentation of Actions q Anticipation q Staging Production Techniques q Straight Ahead q Pose to Pose Introduced to the computer animation community in 1987 in a SIGGRAPH paper by John Lasseter

Video n Luxo Jr. (again) n Geri s Game

12 Principles n n Cartoon Physics q Squash and stretch q Timing q Secondary Actions q Slow In, Slow Out q Arcs Aesthetics Actions q Exaggeration q Appeal q Follow Through n n Effective Presentation of Actions q Anticipation q Staging Production Techniques q Straight Ahead q Pose to Pose Introduced to the computer animation community in 1987 in a SIGGRAPH paper by John Lasseter

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

Cartoon Physics: Squash and Stretch Approximately maintain volume...but distort its shape over time

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

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

Cartoon Physics: Secondary Actions

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, 2 nd and 3 rd order continuity of motion

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

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.

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

Presentation: Anticipation and Staging n n n Action: q Anticipation + Action + Reaction Anticipation q The preparation for an action 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.

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

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

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.

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)

Keyframing

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

Keyframing Basics n n n n Despite the name, there aren t really keyframes, per se. For each variable, specify its value at the important frames. Not all variables need agree about which frames are important. Hence, key values rather than key frames Create path for each parameter by interpolating key values

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

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)

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

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 q q q a coordinate of the position of an object, a joint angle of an appendage of a robot, the transparency attribute of an object, any other parameter

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.

Linear Interpolation

Cubic Curve Interpolation

Cubic Curves n First issue: interpolation vs. approximation q q q q q Interpolating curve passes through points Approximating curve passes near the points used as weights or control points Hermite and Catmull-Rom are interpolating Bezier and B-spline are approximating Interpolating for data fitting, approximating ok for UI

Interpolation n Second issue: continuity q which interpolation technique to use q how smooth the resulting function needs to be (i.e. continuity), 1 st order (C 1 ) Usually good for animation 0 th order (C 0 ) 2 nd order (C 2 ) Good for modeling

Interpolation n Third issue: whether local or global control of the interpolating function is required. q q Does a small change modify the whole curve or just a small segment? how much computation you can afford to do (order of interpolating polynomial) Local control: more intuitiv Global control

Interpolation n Local control is more intuitive: q Almost all composite curves provide local control n Curves which provide local control: q q q q Parabolic blending Catmull-Rom splines Composite cubic Bezier Cubic B-spline n Other curves provide less local control q q Hermite curves Higher-order Bezier and B-Spline curves

Interpolation n Curves play major role in interpolation

Curves Explicit form: y = f(x) e.g. y=x 2 Implicit form: f(x,y) = 0 e.g. x 2 + y 2 - r 2 = 0 Parametric form: x = f(u) y = g(u) Good for testing points or good for generating points?

Curves Parametric form: P = P(u) = (x,y,z) x = f(u) y = g(u) z = h(u) u=0.0 u=1/3 u=2/3 u=1.0 Space-curve P = P(u) 0.0 <=u<=1.0

Curves Interpolation v. approximation Computational complexity Expressiveness Local v. global control Continuity Hermite Bezier Catmull-Rom Blended parabolas B-splines, NURBS

Curves Hermite Bezier B-Spline/NURBS Catmull-Rom Blended Parabolas

Summary n Goal of interpolation: q q how best to generate the values of the parameter for the frames between the key frames. 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 P i, basis functions Catmull-Rom Interpolating P0, P1, P2, P3

Controlling Motion Along a Curve

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) = P x,y,z (u)

Ease-in/Ease-Out

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.

Sine Interpolation

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.

Sinusoidal Pieces

Sinusoidal Pieces

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.

Parabolic Ease-In/Ease-Out n n n The default case of no easein/ease-out would produce a velocity curve that is a horizontal straight line of v0 as it goes from 0 to 1. The distance covered would be ease(1) = v0*1. 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.

Parabolic Ease-In/Ease-Out

Parabolic Ease-In/Ease-Out

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

Parabolic Ease-In/Ease-Out n Distance function with parabolic sections at both ends.

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.

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

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 q q Invalid configurations (pass through walls) Unnatural motions n Painful twists/bends n Going the long way around Jerky motion

Deformation

Object Deformation n Many objects are not rigid q q q q jello mud gases/liquids etc. n Two main techniques: q q Geometric deformations this lecture Deforms object mesh / geometry directly Physically-based methods later in course Physically accurate simulation of objects n n n What is main difference between these two in terms of creation?

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)

Non-Uniform Scale Sx 0 0 0 0 Sy 0 0 0 0 0 0 Sz 0 0 1 Transformation matrix - diagonal elements

Non-Uniform Scale

Warping an Object Displacement of a seed vertex

Warping an Object Attenuated displacement propagated to adjacent vertices.

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

2D Coordinate Grid Deformations Overlay 2D grid on top of object Map object vertices to grid cells (create local coordinate system)

2D Coordinate Grid Deformations User distorts 2D grid vertices Object vertices are remapped to local coor sys of 2D grid

2D Coordinate Grid Deformations Initial Grid

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

2D Coordinate Grid Deformations Initial Grid

Bilinear Interpolation

2D Coordinate Grid Deformation

Skeletal (Polyline) Deformation

Skeletal (Polyline) Deformation

Skeletal (Polyline) Deformation Interior angle bisectors Perpendiculars at end points

Skeletal (Polyline) Deformation L Get object s Draw polyline d Map vertices to polyline Warp polyline Reposition vertices to polyline

Polyline (Polyline) Deformation

Polyline (Polyline) Deformation

Polyline (Polyline) Deformation

Global Deformations f(x,y,z) g(x,y,z) Transformation matrix elements - functions of coordinates

Global Deformation

Global Deformation Good for modeling [Barr 87] Animation is harder

Global Deformations -- Taper

Global Deformations -- Taper

Global Deformations Twist x = x*cos(f(y)) z*sin(f(y)) y = y z = x*sin(f(y)) + z*cos(f(y))

Global Deformations Twist

Global Deformations Rotate

Global Deformations -- Rotate

Global Deformations Compound

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

Free-Form Deformations Define local coordinate system for deformation T U S (not necessarily mutually perpendicular)

FFD - create control grid (not necessarily mutually perpendicular)

Extension of 2D Grid Deformation 2D Grid Deformation FFD -- 3D Grid Deformation

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

FFD - register point in cell T P U S

FFD - register point in cell TxU ((TxU). S) P T T (TxU). (P-P0) S S U P0 s = (TxU). (P-P0) / ((TxU). S) P = P0 + ss + tt + uu

Free Form Deformation (FFD) n Local coord system: (S,T,U) n Point P coordinate along S:!!!!!!! n Same for T,U s = ( T U)( P P0 ) /(( T U) S) 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

Polyline (Polyline) Deformation

Free Form Deformation (FFD) The lattice defines a Bezier volume P ( s, t, u) = pijk B( s) B( t) B( u) ijk Compute lattice coordinates ( s, t, u) Alter the control points p ijk Compute the deformed points P( s, t, u) ( u, v, w) ( u, v, w)

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, C 1 continuity can be ensured between two control grids P ( s, t, u) = pijk B( s) B( t) B( u) ijk

Bezier Solids

FFD Example

FFD Example Better control more than one block of FFD

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)

FFD - extensions Hierarchical FFDs Animated FFD Static FFD that object moves through Non-parallelpiped FFD

FFD - films and videos examples Boppin in Bean Town by John Chadwick Facit demo by Beth Hofer Balloon Guy by Chris Wedge

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 q q FFD is relative to wire skeleton Moves of skeleton re-position FFD grid Skin position is computed within new FFD

FFD Animation Animate a reference and a deformed lattice reference deformed morphed

FFD Animation Animate the object through the lattice reference deformed morphed

FFD Animation Move FFD control points

A few examples n https://www.youtube.com/watch? v=kkpuu_vxtac n https://www.youtube.com/watch? v=pe8kgvwy2zi

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