Animation CS 551 / 651 David Brogan dbrogan@cs.virginia.edu Introduction We are going to study how things move and the creation of computer graphics representations that look “good enough” Rendering is: mapping light sources and surfaces to a vector of pixel colors Animation is: mapping objects, intentions, and external forces to a vector of new object positions / orientations We will not Develop drawing skills • but we may study how others draw so we can automate the process Learn how to use Maya • but we may use Maya as a rendering tool Hone our video game or moviemaking skills • but we will study how modern animation technology contributes to video games and what elements of moviemaking artistry (timing, camera angles, etc.) must reside in animation tools Study how things move Who else does this? • Biomechanists – Physics and sensors • Artists – Intuition and mind’s eye Study how things move We’ll investigate • Human walking, running, dancing • Bicycle riding • Group behaviors • Rigid body dynamics Generate graphics that is “good enough” Who else studies this? Monet La Cathédrale de Rouen (1894) • Perceptual psychologists • Artists University of Utah Picasso The Bull (1946) Generate graphics that is “good enough” We’ll investigate • Recent perceptual literature (change blindness) • Recent computer animation experiments (faking physics) Completing the mapping Bridge gap between knowledge of how things move to how they need to be rendered • Artists use their minds and hands • Computer scientists use math and programs Traditional techniques • Keyframing (Shoemake) – Orientation reps (quaternion, euler) – Curve reps (linear, quadratic, wavelets) – Interpolation (computing arclength, Gaussian Quadrature, SLERP) • Disney artists (Johnson) • Timing / storyboarding Numerical Methods • Curve fitting (least squares) • Optimization – Simulated annealing (Numerical Recipes) – Simplex – Spacetime Constraints (Witkin & Kass) – Genetic Algorithms (Sims) – Neural Networks (Grzeszczuk) Human Motion • Motion Capture – Retargeting (Gleicher, J. Lee, Z. Popovic, Arikan) – Blending (Rose) – Abstraction (Unuma) • Walking – Biomechanics (McMahon, Ruina) – Gait Generation (Metaxas, van de Panne, Hodgins) Physical Simulation • Rigid Body – Physics for games (Hecker) – Featherstone’s Method – Constraint satisfaction • Integration – Runge-Kutta – Euler • Simplification (Chenney, Lin, Popovic) • Perception (O’Sullivan, Proffitt) Autonomous Agents • Behaviors (Thalmann, Badler, Blumberg) • Group actions (Reynolds, Brogan, Helbing) Administrivia Syllabus • Instructor/TA coordinates • Prereqs • Reading Material • Assignments • Grading & Honor Code • Topic list Instructor / TA Coordinates Professor Brogan • Olsson 217 – 982-2211 – dbrogan@cs.virginia.edu – Available in office or through email appointments TA TBD Prerequisites Intro to Graphics • OpenGL skills • User interface toolkits • Appreciation for rendering equations Mathematics (familiarity with…) • Multivariate / Differential Calculus • Probability / Statistics • Linear Algebra AI (familiarity with…) Reading Material No textbook • Good ones to consult: Lots of research papers • I’ll provide background lectures • Research papers provide demonstrations Assignments Approximately five programming assignments • Spacetime Constraints • Inverse Kinematics • Motion Capture Reuse / Retarget • Rigid-body Dynamical Simulator • High-level Control Systems Assignments Approximately four homework assignments • Emphasize the fundamentals – Physical simulation – Least squares – Simulated annealing Assignments Course project? • We can talk about it Assignments Class Participation • Due to the seminar aspect of course, participation is required – Presentation of a paper – Contribution to discussions - You’ll have to be at most classes Grading Final scale will be set upon determination of grad / undergrad ratio and class size • Emphasis is on programming assignments • There will be a final (probably no midterm) Honor Code Initial Assumption (assume this as default) • All code is 100% you – no web, no other people Relaxed Assumption • You can use the web Relaxed Assumption • You can work with others The operating assumption will be specified for each assignment Perception The only reason we’re able to have this class today is because our perceptual system is easily tricked (but it’s finicky) Modeling perception really matters for computer animation Perception Positive afterimage (persistence of vision) • the visual stimulus that remains after illumination has changed or been removed Motion blur • Persistence of vision causes an object to appear to be multiple places at once Motion Blur Virtual camera in computer graphics usually shoots with infinitely small shutter speed • No motion blur results Without motion blur, 30 fps results in fast moving objects that look like they are strobing, or hopping What’s the rate? Playback rate • The number of samples displayed per second Sample rate • The number of different images per second Playback Rate Sample Rate TV Cartoon 30 6 TV Sitcom 30 30 (on fields) CG Lipsync on film 24 12 Perception Computer graphics rendering can rely on fourhundred years of perception research by artists • The best animators have is eighty years of Disney In 1550, after 100 years of refining the art of perspective drawing, artists were shocked to think that the geometric purity of their modeled world didn’t map to recent discoveries of the human eye. They couldn’t even imagine how cognition affected what one “saw.” 200 more years would pass. Animation timeline Persistence of vision • Thaumotrope (1800s) • Flipbook • Zoetrope (1834) • Shadow puppets pbsKids Animation timeline Photography • Muybridge (1885) • Film projector (Edison, 1891) Animation Timeline First Animation • 1896, Georges Melies, moving tables • 1900, J. Stuart Blackton, added smoke First celebrated cartoonist • Winsor McCay • Little Nemo (1911) • Gertie the Dinosaur (1914) Animation Timeline 1910, Bray and Hurd • Patented translucent cels (formerly celluloid was used, but acetate is used now) used in layers for compositing • Patented gray-scale drawings (cool!) • Patented using pegs for registration (alignment) of overlays • Patented the use of large background drawings and panning camera Bray’s Studio Produced Max Fleischer – Betty Boop Paul Terry – Terrytoons George Stallings – Tom and Jerry Walter Lantz – Woody Woodpecker 1915, Fleischer patented rotoscoping • Drawing images on cells by tracing over previously recorded live action (MoCap) 1920, color cartoons Disney Advanced animation more than anyone else • First to have sound in 1928, Steamboat Willie • First to use storyboards • First to attempt realism • Invented multiplane camera Multiplane Camera Camera is mounted above multiple planes Each plane holds an animation cel Each plane can translate freely on 3 axes What is this good for? Zooming, moving foreground characters off camera, parallax, prolonged shutter allows blurring some layers (motion blur) Stop-motion Animation Willis O’Brien – King Kong Ray Harryhausen – Mighty Joe Young Nick Park – Wallace and Grommit Tim Burton – Nightmare Before Christmas Animation Heritage • 1963 – Ivan Sutherland’s (MIT) Sketchpad • 1970 – Evans and Sutherland (Utah) start computer graphics program (and Co.) • 1972 – Ed Catmull’s (Utah) animated hand and face (later co-founded Pixar) • 1970’s – Norm Badler (Penn) Center for Modeling and Simulation and Jack Animation Heritage • 1970’s – New York Institute of Technology (NYIT) produced Alvy Ray Smith (Cofounded Pixar and Lucasfilm) and Catmull • 1980’s – Daniel and Nadia MagnenantThalmann (Swiss Universities) become European powerhouses Animation Heritage • 1980’s – z-buffer invented, SGI founded, and Alias/Wavefront founded • 1977 – Starwars • 1982 – Tron (first extensive use of gfx) • 1982 – Early use of particle systems (Star Trek II: The Wrath of Khan) • 1984 – The Last Starfighter (look for the Cray X-MP in credits) Animation Heritage • 1986 – Young Sherlock Homes (first use of synthetic character in film) • 1986 – First digital wire removal (Howard the Duck) • 1988 – First digital blue screen extraction (Willow) • The Abyss (1989) Terminator II (1991) Casper (1995), Men in Black (1997) Animation Heritage • ILM: Jurassic Park (1993), Jumangi (1995), Mars Attacks (1996), Flubber (1997), Titanic (1999) • Angel Studios: Lawnmower Man (1992) • PDI: Batman Returns (1995) • Tippett Studio: Dragonheart (1996), Starship Troopers (1997) • Disney: Beauty and the Beast (1991), Lion King (1994), Tarzan (1999) • Dreamworks: Antz, Prince of Egypt • Pixar: Toy Story, A Bug’s Life, Monster’s Inc. Americans are hardest working Recent history United Nations report from Sept 1, 2003 • $/worker-year – US = $60,728, Belgium (top EU) = $54,333 • hours/worker-year – US = Japan = 1825, EU = 1300 – 1800 • $/worker-hour – Norway, France, Belgium, US $38 $35 $34 $32 • Why is US on top of $/worker-year? – Best economies encourage widespread use of communications and information technology – Even though we’re fat, dumb, and happy – we don’t take month-long vacations and one-year maternity breaks Let’s talk about computer animation Must generate 30 frames per second of animation (24 fps for film) Issues to consider: • Is the goal to replace or augment the artist? – What does the artist bring to the project? • Is the scene/plot fixed or responsive to user? – What can we automate? Animation – A broad Brush Traditional Methods • Cartoons, stop motion Keyframing • Digital inbetweens Motion Capture • What you record is what you get Simulation • Animate what you can model (with equations) Computer Animation Keyframing Traditional animation technique Dependent on artist to generate ‘key’ frames Additional, ‘inbetween’ frames are drawn automatically by computer Keyframing How are we going to interpolate? From “The computer in the visual arts”, Spalter, 1999 Linear Interpolation Simple, but discontinuous velocity Nonlinear Interpolation Smooth ball trajectory and continuous velocity, but loss of timing Easing Adjust the timing of the inbetween frames. Can be automated by adjusting the stepsize of parameter, t. Style or Accuracy? Interpolating time captures accuracy of velocity Squash and stretch replaces motion blur stimuli and adds life-like intent Traditional Motivation Ease-in and ease-out is like squash and stretch Can we automate the inbetweens for these? “The Illusion of Life, Disney Animation” Thomas and Johnson More squash and stretch Anticipation and Staging Don’t surprise the audience Direct their attention to what’s important Follow Through Audience likes to see resolution of action Discontinuities are unsettling Combined Secondary Motion Characters should exist in a real environment Extra movements should not detract Interpolation Many parameters can be interpolated to generate animation Simple interpolation techniques can only generate simple inbetweens More complicated inbetweening will require a more complicated model of animated object and simulation Interpolation Strengths • Animator has exacting control (Woody’s face) Weaknesses • Interpolation hooks must be simple and direct – Remember the problems with Euler angle interp? • Time consuming and skill intensive • Difficult to reuse and adjust Examples Sports video games • Madden Football Many movie characters • Phantom Menace Cartoons Motion Capture Strengths Exactly captures the motions of the actor • Michael Jordan’s video game character will capture his style Easy to capture data Motion Capture Weaknesses Noise, noise, noise! Magnetic system inteference Visual system occlusions Mechanical system mass Tethered (wireless is available now) Motion Capture Weaknesses Aligning motion data with CG character • Limb lengths • Idealized perfect joints • Foot sliding Reusing motion data • Difficult to scale in size (must also scale in time) • Changing one part of motion Motion Capture Weaknesses Blending segments • Motion clips are short (due to range and tethers) • Dynamic motion generation requires blending at run time • Difficult to manage smooth transition Procedural http://jet.ro/dismount www.sodaplay.com Examples Inanimate video game objects • GT Racer cars • Soapbox about why this is so cool Special effects • Explosions, water, secondary motion • Phantom Menace CG droids after they were cut in half Procedural Animation Very general term for a technique that puts more complex algorithms behind the scenes Technique attempts to consolidate artistic efforts in algorithms and heuristics Allows for optimization and physical simulation Procedural Animation Strengths Animation can be generated ‘on the fly’ Dynamic response to user Write-once, use-often Algorithms provide accuracy and exhaustive search that animators cannot Procedural Animation Weaknesses We’re not great at boiling human skill down to algorithms • How do we move when juggling? Difficult to generate Expensive to compute Difficult to force system to generate a particular solution • Bicycles will fall down Homework For next week: • Read Chris Hecker articles (all four in series) on physical simulation Game Developer Magazine October/November 1996 • http://www.d6.com/users/checker/pdfs/gdmphys[1-4].pdf