animation cs 551 / 651 david brogan [email protected] [email protected]
TRANSCRIPT
AnimationCS 551 / 651
David BroganDavid Brogan
[email protected]@cs.virginia.edu
David BroganDavid Brogan
[email protected]@cs.virginia.edu
Introduction
We are going to study how things move and the We are going to study how things move and the creation of computer graphics representations that creation of computer graphics representations that look “good enough”look “good enough”
RenderingRendering isis: mapping light sources and surfaces to a : mapping light sources and surfaces to a vector of pixel colorsvector of pixel colors
AnimationAnimation isis: mapping objects, intentions, and external : mapping objects, intentions, and external forces to a vector of new object positions / orientationsforces to a vector of new object positions / orientations
We are going to study how things move and the We are going to study how things move and the creation of computer graphics representations that creation of computer graphics representations that look “good enough”look “good enough”
RenderingRendering isis: mapping light sources and surfaces to a : mapping light sources and surfaces to a vector of pixel colorsvector of pixel colors
AnimationAnimation isis: mapping objects, intentions, and external : mapping objects, intentions, and external forces to a vector of new object positions / orientationsforces to a vector of new object positions / orientations
We will not
Develop drawing skillsDevelop drawing skills
• but we may study how others draw so we can automate the but we may study how others draw so we can automate the processprocess
Learn how to use MayaLearn how to use Maya
• but we may use Maya as a rendering toolbut we may use Maya as a rendering tool
Hone our video game or moviemaking skillsHone our video game or moviemaking skills
• but we will study how modern animation technology contributes but we will study how modern animation technology contributes to video games and what elements of moviemaking artistry to video games and what elements of moviemaking artistry (timing, camera angles, etc.) must reside in animation tools(timing, camera angles, etc.) must reside in animation tools
Develop drawing skillsDevelop drawing skills
• but we may study how others draw so we can automate the but we may study how others draw so we can automate the processprocess
Learn how to use MayaLearn how to use Maya
• but we may use Maya as a rendering toolbut we may use Maya as a rendering tool
Hone our video game or moviemaking skillsHone our video game or moviemaking skills
• but we will study how modern animation technology contributes but we will study how modern animation technology contributes to video games and what elements of moviemaking artistry to video games and what elements of moviemaking artistry (timing, camera angles, etc.) must reside in animation tools(timing, camera angles, etc.) must reside in animation tools
Study how things move
Who else does this?Who else does this?Who else does this?Who else does this?
• BiomechanistsBiomechanists
– Physics and sensorsPhysics and sensors
• ArtistsArtists
– Intuition and mind’s eyeIntuition and mind’s eye
• BiomechanistsBiomechanists
– Physics and sensorsPhysics and sensors
• ArtistsArtists
– Intuition and mind’s eyeIntuition and mind’s eye
Study how things move
We’ll investigateWe’ll investigate
• Human walking, running, dancingHuman walking, running, dancing
• Bicycle ridingBicycle riding
• Group behaviorsGroup behaviors
• Rigid body dynamicsRigid body dynamics
We’ll investigateWe’ll investigate
• Human walking, running, dancingHuman walking, running, dancing
• Bicycle ridingBicycle riding
• Group behaviorsGroup behaviors
• Rigid body dynamicsRigid body dynamics
Generate graphics that is “good enough”
Who else studies this?Who else studies this?Who else studies this?Who else studies this?
• Perceptual psychologistsPerceptual psychologists
• ArtistsArtists
• Perceptual psychologistsPerceptual psychologists
• ArtistsArtists
PicassoThe Bull (1946)
MonetLa Cathédrale de Rouen
(1894)
University of Utah
Generate graphics that is “good enough”
We’ll investigateWe’ll investigate
• Recent perceptual literature (change blindness)Recent perceptual literature (change blindness)
• Recent computer animation experiments (faking Recent computer animation experiments (faking physics)physics)
We’ll investigateWe’ll investigate
• Recent perceptual literature (change blindness)Recent perceptual literature (change blindness)
• Recent computer animation experiments (faking Recent computer animation experiments (faking physics)physics)
Completing the mapping
Bridge gap between knowledge of how Bridge gap between knowledge of how things move to how they need to be things move to how they need to be renderedrendered
• Artists use their minds and handsArtists use their minds and hands
• Computer scientists use math and programsComputer scientists use math and programs
Bridge gap between knowledge of how Bridge gap between knowledge of how things move to how they need to be things move to how they need to be renderedrendered
• Artists use their minds and handsArtists use their minds and hands
• Computer scientists use math and programsComputer scientists use math and programs
Traditional techniques
• Keyframing (Shoemake)Keyframing (Shoemake)
– Orientation reps (quaternion, euler)Orientation reps (quaternion, euler)
– Curve reps (linear, quadratic, wavelets)Curve reps (linear, quadratic, wavelets)
– Interpolation (computing arclength, Gaussian Interpolation (computing arclength, Gaussian Quadrature, SLERP)Quadrature, SLERP)
• Disney artists (Johnson)Disney artists (Johnson)
• Timing / storyboardingTiming / storyboarding
• Keyframing (Shoemake)Keyframing (Shoemake)
– Orientation reps (quaternion, euler)Orientation reps (quaternion, euler)
– Curve reps (linear, quadratic, wavelets)Curve reps (linear, quadratic, wavelets)
– Interpolation (computing arclength, Gaussian Interpolation (computing arclength, Gaussian Quadrature, SLERP)Quadrature, SLERP)
• Disney artists (Johnson)Disney artists (Johnson)
• Timing / storyboardingTiming / storyboarding
Numerical Methods
• Curve fitting (least squares)Curve fitting (least squares)
• Optimization Optimization
– Simulated annealing (Numerical Recipes)Simulated annealing (Numerical Recipes)
– SimplexSimplex
– Spacetime Constraints (Witkin & Kass)Spacetime Constraints (Witkin & Kass)
– Genetic Algorithms (Sims)Genetic Algorithms (Sims)
– Neural Networks (Grzeszczuk)Neural Networks (Grzeszczuk)
• Curve fitting (least squares)Curve fitting (least squares)
• Optimization Optimization
– Simulated annealing (Numerical Recipes)Simulated annealing (Numerical Recipes)
– SimplexSimplex
– Spacetime Constraints (Witkin & Kass)Spacetime Constraints (Witkin & Kass)
– Genetic Algorithms (Sims)Genetic Algorithms (Sims)
– Neural Networks (Grzeszczuk)Neural Networks (Grzeszczuk)
Human Motion
• Motion CaptureMotion Capture
– Retargeting (Gleicher, J. Lee, Z. Popovic, Arikan)Retargeting (Gleicher, J. Lee, Z. Popovic, Arikan)
– Blending (Rose)Blending (Rose)
– Abstraction (Unuma)Abstraction (Unuma)
• WalkingWalking
– Biomechanics (McMahon, Ruina)Biomechanics (McMahon, Ruina)
– Gait Generation (Metaxas, van de Panne, Hodgins)Gait Generation (Metaxas, van de Panne, Hodgins)
• Motion CaptureMotion Capture
– Retargeting (Gleicher, J. Lee, Z. Popovic, Arikan)Retargeting (Gleicher, J. Lee, Z. Popovic, Arikan)
– Blending (Rose)Blending (Rose)
– Abstraction (Unuma)Abstraction (Unuma)
• WalkingWalking
– Biomechanics (McMahon, Ruina)Biomechanics (McMahon, Ruina)
– Gait Generation (Metaxas, van de Panne, Hodgins)Gait Generation (Metaxas, van de Panne, Hodgins)
Physical Simulation• Rigid BodyRigid Body
– Physics for games (Hecker)Physics for games (Hecker)
– Featherstone’s MethodFeatherstone’s Method
– Constraint satisfactionConstraint satisfaction
• IntegrationIntegration
– Runge-KuttaRunge-Kutta
– EulerEuler
• Simplification (Chenney, Lin, Popovic)Simplification (Chenney, Lin, Popovic)
• Perception (O’Sullivan, Proffitt)Perception (O’Sullivan, Proffitt)
• Rigid BodyRigid Body
– Physics for games (Hecker)Physics for games (Hecker)
– Featherstone’s MethodFeatherstone’s Method
– Constraint satisfactionConstraint satisfaction
• IntegrationIntegration
– Runge-KuttaRunge-Kutta
– EulerEuler
• Simplification (Chenney, Lin, Popovic)Simplification (Chenney, Lin, Popovic)
• Perception (O’Sullivan, Proffitt)Perception (O’Sullivan, Proffitt)
Autonomous Agents
• Behaviors (Thalmann, Badler, Blumberg)Behaviors (Thalmann, Badler, Blumberg)
• Group actions (Reynolds, Brogan, Helbing)Group actions (Reynolds, Brogan, Helbing)
• Behaviors (Thalmann, Badler, Blumberg)Behaviors (Thalmann, Badler, Blumberg)
• Group actions (Reynolds, Brogan, Helbing)Group actions (Reynolds, Brogan, Helbing)
Administrivia
SyllabusSyllabus• Instructor/TA coordinatesInstructor/TA coordinates
• PrereqsPrereqs
• Reading MaterialReading Material
• Assignments Assignments
• Grading & Honor CodeGrading & Honor Code
• Topic listTopic list
SyllabusSyllabus• Instructor/TA coordinatesInstructor/TA coordinates
• PrereqsPrereqs
• Reading MaterialReading Material
• Assignments Assignments
• Grading & Honor CodeGrading & Honor Code
• Topic listTopic list
Instructor / TA Coordinates
Professor BroganProfessor Brogan
• Olsson 217Olsson 217
– 982-2211982-2211
– [email protected]@cs.virginia.edu
– Available in office or through email appointmentsAvailable in office or through email appointments
TA TBDTA TBD
Professor BroganProfessor Brogan
• Olsson 217Olsson 217
– 982-2211982-2211
– [email protected]@cs.virginia.edu
– Available in office or through email appointmentsAvailable in office or through email appointments
TA TBDTA TBD
Prerequisites
Intro to GraphicsIntro to Graphics• OpenGL skillsOpenGL skills
• User interface toolkitsUser interface toolkits
• Appreciation for rendering equationsAppreciation for rendering equations
Mathematics (familiarity with…)Mathematics (familiarity with…)• Multivariate / Differential CalculusMultivariate / Differential Calculus
• Probability / StatisticsProbability / Statistics
• Linear AlgebraLinear Algebra
AI (familiarity with…)AI (familiarity with…)
Intro to GraphicsIntro to Graphics• OpenGL skillsOpenGL skills
• User interface toolkitsUser interface toolkits
• Appreciation for rendering equationsAppreciation for rendering equations
Mathematics (familiarity with…)Mathematics (familiarity with…)• Multivariate / Differential CalculusMultivariate / Differential Calculus
• Probability / StatisticsProbability / Statistics
• Linear AlgebraLinear Algebra
AI (familiarity with…)AI (familiarity with…)
Reading Material
No textbookNo textbook
• Good ones to consult:Good ones to consult:
Lots of research papersLots of research papers
• I’ll provide background lecturesI’ll provide background lectures
• Research papers provide demonstrationsResearch papers provide demonstrations
No textbookNo textbook
• Good ones to consult:Good ones to consult:
Lots of research papersLots of research papers
• I’ll provide background lecturesI’ll provide background lectures
• Research papers provide demonstrationsResearch papers provide demonstrations
Assignments
Approximately five programming Approximately five programming assignmentsassignments
• Spacetime ConstraintsSpacetime Constraints
• Inverse KinematicsInverse Kinematics
• Motion Capture Reuse / RetargetMotion Capture Reuse / Retarget
• Rigid-body Dynamical SimulatorRigid-body Dynamical Simulator
• High-level Control SystemsHigh-level Control Systems
Approximately five programming Approximately five programming assignmentsassignments
• Spacetime ConstraintsSpacetime Constraints
• Inverse KinematicsInverse Kinematics
• Motion Capture Reuse / RetargetMotion Capture Reuse / Retarget
• Rigid-body Dynamical SimulatorRigid-body Dynamical Simulator
• High-level Control SystemsHigh-level Control Systems
Assignments
Approximately four homework assignmentsApproximately four homework assignments
• Emphasize the fundamentalsEmphasize the fundamentals
– Physical simulationPhysical simulation
– Least squaresLeast squares
– Simulated annealingSimulated annealing
Approximately four homework assignmentsApproximately four homework assignments
• Emphasize the fundamentalsEmphasize the fundamentals
– Physical simulationPhysical simulation
– Least squaresLeast squares
– Simulated annealingSimulated annealing
Assignments
Course project?Course project?
• We can talk about itWe can talk about it
Course project?Course project?
• We can talk about itWe can talk about it
Assignments
Class ParticipationClass Participation
• Due to the seminar aspect of course, participation is Due to the seminar aspect of course, participation is requiredrequired
– Presentation of a paperPresentation of a paper
– Contribution to discussionsContribution to discussions
- You’ll have to be at most classes- You’ll have to be at most classes
Class ParticipationClass Participation
• Due to the seminar aspect of course, participation is Due to the seminar aspect of course, participation is requiredrequired
– Presentation of a paperPresentation of a paper
– Contribution to discussionsContribution to discussions
- You’ll have to be at most classes- You’ll have to be at most classes
Grading
Final scale will be set upon determination of Final scale will be set upon determination of grad / undergrad ratio and class sizegrad / undergrad ratio and class size
• Emphasis is on programming assignmentsEmphasis is on programming assignments
• There will be a final (probably no midterm)There will be a final (probably no midterm)
Final scale will be set upon determination of Final scale will be set upon determination of grad / undergrad ratio and class sizegrad / undergrad ratio and class size
• Emphasis is on programming assignmentsEmphasis is on programming assignments
• There will be a final (probably no midterm)There will be a final (probably no midterm)
Honor Code
Initial Assumption (assume this as default)Initial Assumption (assume this as default)
• All code is 100% you – no web, no other peopleAll code is 100% you – no web, no other people
Relaxed Assumption Relaxed Assumption
• You can use the webYou can use the web
Relaxed AssumptionRelaxed Assumption
• You can work with othersYou can work with others
The operating assumption will be specified for The operating assumption will be specified for each assignmenteach assignment
Initial Assumption (assume this as default)Initial Assumption (assume this as default)
• All code is 100% you – no web, no other peopleAll code is 100% you – no web, no other people
Relaxed Assumption Relaxed Assumption
• You can use the webYou can use the web
Relaxed AssumptionRelaxed Assumption
• You can work with othersYou can work with others
The operating assumption will be specified for The operating assumption will be specified for each assignmenteach assignment
Perception
The only reason we’re able to have this The only reason we’re able to have this class today is because our perceptual class today is because our perceptual system is easily tricked (but it’s finicky)system is easily tricked (but it’s finicky)
Modeling perception really matters for Modeling perception really matters for computer animationcomputer animation
The only reason we’re able to have this The only reason we’re able to have this class today is because our perceptual class today is because our perceptual system is easily tricked (but it’s finicky)system is easily tricked (but it’s finicky)
Modeling perception really matters for Modeling perception really matters for computer animationcomputer animation
Perception
Positive afterimage (persistence of vision)Positive afterimage (persistence of vision)
• the visual stimulus that remains after illumination the visual stimulus that remains after illumination has changed or been removedhas changed or been removed
Motion blurMotion blur
• Persistence of vision causes an object to appear to Persistence of vision causes an object to appear to be multiple places at oncebe multiple places at once
Positive afterimage (persistence of vision)Positive afterimage (persistence of vision)
• the visual stimulus that remains after illumination the visual stimulus that remains after illumination has changed or been removedhas changed or been removed
Motion blurMotion blur
• Persistence of vision causes an object to appear to Persistence of vision causes an object to appear to be multiple places at oncebe multiple places at once
Motion Blur
Virtual camera in computer graphics Virtual camera in computer graphics usually shoots with infinitely small usually shoots with infinitely small shutter speedshutter speed
• No motion blur resultsNo motion blur results
Without motion blur, 30 fps results in fast Without motion blur, 30 fps results in fast moving objects that look like they are moving objects that look like they are strobingstrobing, or hopping, or hopping
Virtual camera in computer graphics Virtual camera in computer graphics usually shoots with infinitely small usually shoots with infinitely small shutter speedshutter speed
• No motion blur resultsNo motion blur results
Without motion blur, 30 fps results in fast Without motion blur, 30 fps results in fast moving objects that look like they are moving objects that look like they are strobingstrobing, or hopping, or hopping
What’s the rate?
Playback ratePlayback rate
• The number of samples displayed per secondThe number of samples displayed per second
Sample rateSample rate
• The number of different images per secondThe number of different images per second
Playback ratePlayback rate
• The number of samples displayed per secondThe number of samples displayed per second
Sample rateSample rate
• The number of different images per secondThe number of different images per second
Playback Playback RateRate
Sample RateSample Rate
TV CartoonTV Cartoon 3030 66
TV SitcomTV Sitcom 3030 30 (on fields)30 (on fields)
CG Lipsync CG Lipsync on filmon film
2424 1212
Perception
Computer graphics rendering can rely on four-Computer graphics rendering can rely on four-hundred years of perception research by artistshundred years of perception research by artists• The best animators have is eighty years of DisneyThe best animators have is eighty years of Disney
In 1550, after 100 years of refining the art of In 1550, after 100 years of refining the art of perspective drawing, artists were shocked to think perspective drawing, artists were shocked to think that the geometric purity of their modeled world that the geometric purity of their modeled world didn’t map to recent discoveries of the human eye. didn’t map to recent discoveries of the human eye. They couldn’t even imagine how cognition affected They couldn’t even imagine how cognition affected what one “saw.” 200 more years would pass.what one “saw.” 200 more years would pass.
Computer graphics rendering can rely on four-Computer graphics rendering can rely on four-hundred years of perception research by artistshundred years of perception research by artists• The best animators have is eighty years of DisneyThe best animators have is eighty years of Disney
In 1550, after 100 years of refining the art of In 1550, after 100 years of refining the art of perspective drawing, artists were shocked to think perspective drawing, artists were shocked to think that the geometric purity of their modeled world that the geometric purity of their modeled world didn’t map to recent discoveries of the human eye. didn’t map to recent discoveries of the human eye. They couldn’t even imagine how cognition affected They couldn’t even imagine how cognition affected what one “saw.” 200 more years would pass.what one “saw.” 200 more years would pass.
Animation timeline
Persistence of visionPersistence of vision
• Thaumotrope (1800s)Thaumotrope (1800s)
• FlipbookFlipbook
• Zoetrope (1834)Zoetrope (1834)
• Shadow puppetsShadow puppets
Persistence of visionPersistence of vision
• Thaumotrope (1800s)Thaumotrope (1800s)
• FlipbookFlipbook
• Zoetrope (1834)Zoetrope (1834)
• Shadow puppetsShadow puppets
pbsKids
Animation timeline
PhotographyPhotography
• Muybridge (1885)Muybridge (1885)
• Film projector (Edison, 1891)Film projector (Edison, 1891)
PhotographyPhotography
• Muybridge (1885)Muybridge (1885)
• Film projector (Edison, 1891)Film projector (Edison, 1891)
Animation Timeline
First AnimationFirst Animation
• 1896, Georges Melies, moving tables1896, Georges Melies, moving tables
• 1900, J. Stuart Blackton, added smoke1900, J. Stuart Blackton, added smoke
First celebrated cartoonistFirst celebrated cartoonist
• Winsor McCayWinsor McCay
• Little Nemo (1911)Little Nemo (1911)
• Gertie the Dinosaur (1914)Gertie the Dinosaur (1914)
First AnimationFirst Animation
• 1896, Georges Melies, moving tables1896, Georges Melies, moving tables
• 1900, J. Stuart Blackton, added smoke1900, J. Stuart Blackton, added smoke
First celebrated cartoonistFirst celebrated cartoonist
• Winsor McCayWinsor McCay
• Little Nemo (1911)Little Nemo (1911)
• Gertie the Dinosaur (1914)Gertie the Dinosaur (1914)
Animation Timeline
1910, Bray and Hurd1910, Bray and Hurd• Patented translucent cels (formerly celluloid was Patented translucent cels (formerly celluloid was
used, but acetate is used now) used in layers for used, but acetate is used now) used in layers for compositingcompositing
• Patented gray-scale drawings (cool!)Patented gray-scale drawings (cool!)
• Patented using pegs for Patented using pegs for registrationregistration (alignment) of (alignment) of overlaysoverlays
• Patented the use of large background drawings and Patented the use of large background drawings and panning camerapanning camera
1910, Bray and Hurd1910, Bray and Hurd• Patented translucent cels (formerly celluloid was Patented translucent cels (formerly celluloid was
used, but acetate is used now) used in layers for used, but acetate is used now) used in layers for compositingcompositing
• Patented gray-scale drawings (cool!)Patented gray-scale drawings (cool!)
• Patented using pegs for Patented using pegs for registrationregistration (alignment) of (alignment) of overlaysoverlays
• Patented the use of large background drawings and Patented the use of large background drawings and panning camerapanning camera
Bray’s Studio Produced
Max Fleischer – Betty BoopMax Fleischer – Betty Boop
Paul Terry – TerrytoonsPaul Terry – Terrytoons
George Stallings – Tom and JerryGeorge Stallings – Tom and Jerry
Walter Lantz – Woody WoodpeckerWalter Lantz – Woody Woodpecker
1915, Fleischer patented 1915, Fleischer patented rotoscopingrotoscoping• Drawing images on cells by tracing over previously recorded Drawing images on cells by tracing over previously recorded
live action (MoCap)live action (MoCap)
1920, color cartoons1920, color cartoons
Max Fleischer – Betty BoopMax Fleischer – Betty Boop
Paul Terry – TerrytoonsPaul Terry – Terrytoons
George Stallings – Tom and JerryGeorge Stallings – Tom and Jerry
Walter Lantz – Woody WoodpeckerWalter Lantz – Woody Woodpecker
1915, Fleischer patented 1915, Fleischer patented rotoscopingrotoscoping• Drawing images on cells by tracing over previously recorded Drawing images on cells by tracing over previously recorded
live action (MoCap)live action (MoCap)
1920, color cartoons1920, color cartoons
Disney
Advanced animation more than anyone elseAdvanced animation more than anyone else
• First to have sound in 1928, Steamboat WillieFirst to have sound in 1928, Steamboat Willie
• First to use storyboardsFirst to use storyboards
• First to attempt realismFirst to attempt realism
• Invented multiplane cameraInvented multiplane camera
Advanced animation more than anyone elseAdvanced animation more than anyone else
• First to have sound in 1928, Steamboat WillieFirst to have sound in 1928, Steamboat Willie
• First to use storyboardsFirst to use storyboards
• First to attempt realismFirst to attempt realism
• Invented multiplane cameraInvented multiplane camera
Multiplane Camera
Camera is mounted above multiple planesCamera is mounted above multiple planes
Each plane holds an animation celEach plane holds an animation cel
Each plane can translate freely on 3 axesEach plane can translate freely on 3 axes
What is this good for?What is this good for?
Camera is mounted above multiple planesCamera is mounted above multiple planes
Each plane holds an animation celEach plane holds an animation cel
Each plane can translate freely on 3 axesEach plane can translate freely on 3 axes
What is this good for?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 KongWillis O’Brien – King Kong
Ray Harryhausen – Mighty Joe YoungRay Harryhausen – Mighty Joe Young
Nick Park – Wallace and GrommitNick Park – Wallace and Grommit
Tim Burton – Nightmare Before ChristmasTim Burton – Nightmare Before Christmas
Willis O’Brien – King KongWillis O’Brien – King Kong
Ray Harryhausen – Mighty Joe YoungRay Harryhausen – Mighty Joe Young
Nick Park – Wallace and GrommitNick Park – Wallace and Grommit
Tim Burton – Nightmare Before ChristmasTim Burton – Nightmare Before Christmas
Animation Heritage
• 1963 – Ivan Sutherland’s (MIT) Sketchpad1963 – Ivan Sutherland’s (MIT) Sketchpad
• 1970 – Evans and Sutherland (Utah) start 1970 – Evans and Sutherland (Utah) start computer graphics program (and Co.)computer graphics program (and Co.)
• 1972 – Ed Catmull’s (Utah) animated hand and 1972 – Ed Catmull’s (Utah) animated hand and face (later co-founded Pixar)face (later co-founded Pixar)
• 1970’s – Norm Badler (Penn) Center for 1970’s – Norm Badler (Penn) Center for Modeling and Simulation Modeling and Simulation and and JackJack
• 1963 – Ivan Sutherland’s (MIT) Sketchpad1963 – Ivan Sutherland’s (MIT) Sketchpad
• 1970 – Evans and Sutherland (Utah) start 1970 – Evans and Sutherland (Utah) start computer graphics program (and Co.)computer graphics program (and Co.)
• 1972 – Ed Catmull’s (Utah) animated hand and 1972 – Ed Catmull’s (Utah) animated hand and face (later co-founded Pixar)face (later co-founded Pixar)
• 1970’s – Norm Badler (Penn) Center for 1970’s – Norm Badler (Penn) Center for Modeling and Simulation Modeling and Simulation and and JackJack
Animation Heritage
• 1970’s – New York Institute of Technology 1970’s – New York Institute of Technology (NYIT) produced Alvy Ray Smith (Cofounded (NYIT) produced Alvy Ray Smith (Cofounded Pixar and Lucasfilm) and CatmullPixar and Lucasfilm) and Catmull
• 1980’s – Daniel and Nadia Magnenant-1980’s – Daniel and Nadia Magnenant-Thalmann (Swiss Universities) become Thalmann (Swiss Universities) become European powerhousesEuropean powerhouses
• 1970’s – New York Institute of Technology 1970’s – New York Institute of Technology (NYIT) produced Alvy Ray Smith (Cofounded (NYIT) produced Alvy Ray Smith (Cofounded Pixar and Lucasfilm) and CatmullPixar and Lucasfilm) and Catmull
• 1980’s – Daniel and Nadia Magnenant-1980’s – Daniel and Nadia Magnenant-Thalmann (Swiss Universities) become Thalmann (Swiss Universities) become European powerhousesEuropean powerhouses
Animation Heritage• 1980’s – z-buffer invented, SGI founded, and 1980’s – z-buffer invented, SGI founded, and
Alias/Wavefront foundedAlias/Wavefront founded
• 1977 – 1977 – StarwarsStarwars
• 1982 – 1982 – Tron Tron (first extensive use of gfx)(first extensive use of gfx)
• 1982 – Early use of particle systems (1982 – Early use of particle systems (Star Trek Star Trek II: The Wrath of KhanII: The Wrath of Khan))
• 1984 – 1984 – The Last StarfighterThe Last Starfighter (look for the Cray (look for the Cray X-MP in credits)X-MP in credits)
• 1980’s – z-buffer invented, SGI founded, and 1980’s – z-buffer invented, SGI founded, and Alias/Wavefront foundedAlias/Wavefront founded
• 1977 – 1977 – StarwarsStarwars
• 1982 – 1982 – Tron Tron (first extensive use of gfx)(first extensive use of gfx)
• 1982 – Early use of particle systems (1982 – Early use of particle systems (Star Trek Star Trek II: The Wrath of KhanII: The Wrath of Khan))
• 1984 – 1984 – The Last StarfighterThe Last Starfighter (look for the Cray (look for the Cray X-MP in credits)X-MP in credits)
Animation Heritage• 1986 – 1986 – Young Sherlock HomesYoung Sherlock Homes (first use of (first use of
synthetic character in film) synthetic character in film)
• 1986 – First digital wire removal (1986 – First digital wire removal (Howard the Howard the DuckDuck))
• 1988 – First digital blue screen extraction 1988 – First digital blue screen extraction ((WillowWillow) )
• The AbyssThe Abyss (1989) (1989) Terminator IITerminator II (1991) (1991) CasperCasper (1995), (1995), Men in BlackMen in Black (1997) (1997)
• 1986 – 1986 – Young Sherlock HomesYoung Sherlock Homes (first use of (first use of synthetic character in film) synthetic character in film)
• 1986 – First digital wire removal (1986 – First digital wire removal (Howard the Howard the DuckDuck))
• 1988 – First digital blue screen extraction 1988 – First digital blue screen extraction ((WillowWillow) )
• The AbyssThe Abyss (1989) (1989) Terminator IITerminator II (1991) (1991) CasperCasper (1995), (1995), Men in BlackMen in Black (1997) (1997)
Animation Heritage• ILM: Jurassic Park (1993), Jumangi (1995), Mars ILM: Jurassic Park (1993), Jumangi (1995), Mars
Attacks (1996), Flubber (1997), Titanic (1999)Attacks (1996), Flubber (1997), Titanic (1999)
• Angel Studios: Lawnmower Man (1992)Angel Studios: Lawnmower Man (1992)
• PDI: Batman Returns (1995) PDI: Batman Returns (1995)
• Tippett Studio: Dragonheart (1996), Starship Troopers Tippett Studio: Dragonheart (1996), Starship Troopers (1997)(1997)
• Disney: Beauty and the Beast (1991), Lion King Disney: Beauty and the Beast (1991), Lion King (1994), Tarzan (1999)(1994), Tarzan (1999)
• Dreamworks: Antz, Prince of EgyptDreamworks: Antz, Prince of Egypt
• Pixar: Toy Story, A Bug’s Life, Monster’s Inc.Pixar: Toy Story, A Bug’s Life, Monster’s Inc.
• ILM: Jurassic Park (1993), Jumangi (1995), Mars ILM: Jurassic Park (1993), Jumangi (1995), Mars Attacks (1996), Flubber (1997), Titanic (1999)Attacks (1996), Flubber (1997), Titanic (1999)
• Angel Studios: Lawnmower Man (1992)Angel Studios: Lawnmower Man (1992)
• PDI: Batman Returns (1995) PDI: Batman Returns (1995)
• Tippett Studio: Dragonheart (1996), Starship Troopers Tippett Studio: Dragonheart (1996), Starship Troopers (1997)(1997)
• Disney: Beauty and the Beast (1991), Lion King Disney: Beauty and the Beast (1991), Lion King (1994), Tarzan (1999)(1994), Tarzan (1999)
• Dreamworks: Antz, Prince of EgyptDreamworks: Antz, Prince of Egypt
• Pixar: Toy Story, A Bug’s Life, Monster’s Inc.Pixar: Toy Story, A Bug’s Life, Monster’s Inc.
Americans are hardest workingRecent history
United Nations report from Sept 1, 2003United Nations report from Sept 1, 2003
• $/worker-year$/worker-year
– US = $60,728, Belgium (top EU) = $54,333US = $60,728, Belgium (top EU) = $54,333
• hours/worker-yearhours/worker-year
– US = Japan = 1825, EU = 1300 – 1800US = Japan = 1825, EU = 1300 – 1800
• $/worker-hour$/worker-hour
– Norway, France, Belgium, USNorway, France, Belgium, US $38 $35 $34 $32 $38 $35 $34 $32
• Why is US on top of $/worker-year?Why is US on top of $/worker-year?
– Best economies encourage widespread use of communications and Best economies encourage widespread use of communications and information technologyinformation technology
– Even though we’re fat, dumb, and happy – we don’t take month-long vacations Even though we’re fat, dumb, and happy – we don’t take month-long vacations and one-year maternity breaksand one-year maternity breaks
United Nations report from Sept 1, 2003United Nations report from Sept 1, 2003
• $/worker-year$/worker-year
– US = $60,728, Belgium (top EU) = $54,333US = $60,728, Belgium (top EU) = $54,333
• hours/worker-yearhours/worker-year
– US = Japan = 1825, EU = 1300 – 1800US = Japan = 1825, EU = 1300 – 1800
• $/worker-hour$/worker-hour
– Norway, France, Belgium, USNorway, France, Belgium, US $38 $35 $34 $32 $38 $35 $34 $32
• Why is US on top of $/worker-year?Why is US on top of $/worker-year?
– Best economies encourage widespread use of communications and Best economies encourage widespread use of communications and information technologyinformation technology
– Even though we’re fat, dumb, and happy – we don’t take month-long vacations Even though we’re fat, dumb, and happy – we don’t take month-long vacations and one-year maternity breaksand one-year maternity breaks
Let’s talk about computer animation
Must generate 30 frames per second of Must generate 30 frames per second of animation (24 fps for film)animation (24 fps for film)
Issues to consider:Issues to consider:
• Is the goal to replace or augment the artist?Is the goal to replace or augment the artist?
– What does the artist bring to the project?What does the artist bring to the project?
• Is the scene/plot fixed or responsive to user?Is the scene/plot fixed or responsive to user?
– What can we automate?What can we automate?
Must generate 30 frames per second of Must generate 30 frames per second of animation (24 fps for film)animation (24 fps for film)
Issues to consider:Issues to consider:
• Is the goal to replace or augment the artist?Is the goal to replace or augment the artist?
– What does the artist bring to the project?What does the artist bring to the project?
• Is the scene/plot fixed or responsive to user?Is the scene/plot fixed or responsive to user?
– What can we automate?What can we automate?
Animation – A broad Brush
Traditional MethodsTraditional Methods
• Cartoons, stop motionCartoons, stop motion
KeyframingKeyframing
• Digital inbetweensDigital inbetweens
Motion CaptureMotion Capture
• What you record is what you getWhat you record is what you get
SimulationSimulation
• Animate what you can model (with equations)Animate what you can model (with equations)
Traditional MethodsTraditional Methods
• Cartoons, stop motionCartoons, stop motion
KeyframingKeyframing
• Digital inbetweensDigital inbetweens
Motion CaptureMotion Capture
• What you record is what you getWhat you record is what you get
SimulationSimulation
• Animate what you can model (with equations)Animate what you can model (with equations)
Computer Animation
Keyframing
Traditional animation techniqueTraditional animation technique
Dependent on artist to generate ‘key’ Dependent on artist to generate ‘key’ framesframes
Additional, ‘inbetween’ frames are drawn Additional, ‘inbetween’ frames are drawn automatically by computerautomatically by computer
Traditional animation techniqueTraditional animation technique
Dependent on artist to generate ‘key’ Dependent on artist to generate ‘key’ framesframes
Additional, ‘inbetween’ frames are drawn Additional, ‘inbetween’ frames are drawn automatically by computerautomatically by computer
Keyframing
From “The computer in the visual arts”, Spalter, 1999
How are we going to interpolate?
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 timeInterpolating timecaptures accuracycaptures accuracyof velocityof velocity
Squash and stretchSquash and stretchreplaces motionreplaces motionblur stimuli andblur stimuli andadds life-likeadds life-likeintentintent
Interpolating timeInterpolating timecaptures accuracycaptures accuracyof velocityof velocity
Squash and stretchSquash and stretchreplaces motionreplaces motionblur stimuli andblur stimuli andadds life-likeadds life-likeintentintent
Traditional Motivation
Ease-in andEase-in andease-out is likeease-out is likesquash andsquash andstretchstretch
Can weCan weautomate theautomate theinbetweens forinbetweens forthese?these?
Ease-in andEase-in andease-out is likeease-out is likesquash andsquash andstretchstretch
Can weCan weautomate theautomate theinbetweens forinbetweens forthese?these?
“The Illusion of Life, Disney Animation”Thomas and Johnson
More squash and stretch
Anticipation and Staging
Don’t surprise theDon’t surprise theaudienceaudience
Direct their Direct their attention to what’sattention to what’simportantimportant
Don’t surprise theDon’t surprise theaudienceaudience
Direct their Direct their attention to what’sattention to what’simportantimportant
Follow Through
Audience likes to see resolution of actionAudience likes to see resolution of action
Discontinuities are unsettlingDiscontinuities are unsettling
Audience likes to see resolution of actionAudience likes to see resolution of action
Discontinuities are unsettlingDiscontinuities are unsettling
Combined
Secondary Motion
Characters should exist in a real Characters should exist in a real environmentenvironment
Extra movements should not detractExtra movements should not detract
Characters should exist in a real Characters should exist in a real environmentenvironment
Extra movements should not detractExtra movements should not detract
Interpolation
Many parameters can be interpolated to Many parameters can be interpolated to generate animationgenerate animation
Simple interpolation techniques can only Simple interpolation techniques can only generate simple inbetweensgenerate simple inbetweens
More complicated inbetweening will require More complicated inbetweening will require a more complicated model of animated a more complicated model of animated object and simulationobject and simulation
Many parameters can be interpolated to Many parameters can be interpolated to generate animationgenerate animation
Simple interpolation techniques can only Simple interpolation techniques can only generate simple inbetweensgenerate simple inbetweens
More complicated inbetweening will require More complicated inbetweening will require a more complicated model of animated a more complicated model of animated object and simulationobject and simulation
Interpolation
StrengthsStrengths
• Animator has exacting control (Woody’s face)Animator has exacting control (Woody’s face)
WeaknessesWeaknesses
• Interpolation hooks must be simple and directInterpolation hooks must be simple and direct
– Remember the problems with Euler angle interp?Remember the problems with Euler angle interp?
• Time consuming and skill intensiveTime consuming and skill intensive
• Difficult to reuse and adjustDifficult to reuse and adjust
StrengthsStrengths
• Animator has exacting control (Woody’s face)Animator has exacting control (Woody’s face)
WeaknessesWeaknesses
• Interpolation hooks must be simple and directInterpolation hooks must be simple and direct
– Remember the problems with Euler angle interp?Remember the problems with Euler angle interp?
• Time consuming and skill intensiveTime consuming and skill intensive
• Difficult to reuse and adjustDifficult to reuse and adjust
Examples
Sports video gamesSports video games
• Madden FootballMadden Football
Many movie charactersMany movie characters
• Phantom MenacePhantom Menace
CartoonsCartoons
Sports video gamesSports video games
• Madden FootballMadden Football
Many movie charactersMany movie characters
• Phantom MenacePhantom Menace
CartoonsCartoons
Motion Capture Strengths
Exactly captures the motions of the actorExactly captures the motions of the actor
• Michael Jordan’s video game character will capture Michael Jordan’s video game character will capture his stylehis style
Easy to capture dataEasy to capture data
Exactly captures the motions of the actorExactly captures the motions of the actor
• Michael Jordan’s video game character will capture Michael Jordan’s video game character will capture his stylehis style
Easy to capture dataEasy to capture data
Motion Capture Weaknesses
Noise, noise, noise!Noise, noise, noise!
Magnetic system inteferenceMagnetic system inteference
Visual system occlusionsVisual system occlusions
Mechanical system massMechanical system mass
Tethered (wireless is available now)Tethered (wireless is available now)
Noise, noise, noise!Noise, noise, noise!
Magnetic system inteferenceMagnetic system inteference
Visual system occlusionsVisual system occlusions
Mechanical system massMechanical system mass
Tethered (wireless is available now)Tethered (wireless is available now)
Motion Capture Weaknesses
Aligning motion data with CG characterAligning motion data with CG character• Limb lengthsLimb lengths
• Idealized perfect jointsIdealized perfect joints
• Foot slidingFoot sliding
Reusing motion dataReusing motion data• Difficult to scale in size (must also scale in time)Difficult to scale in size (must also scale in time)
• Changing one part of motionChanging one part of motion
Aligning motion data with CG characterAligning motion data with CG character• Limb lengthsLimb lengths
• Idealized perfect jointsIdealized perfect joints
• Foot slidingFoot sliding
Reusing motion dataReusing motion data• Difficult to scale in size (must also scale in time)Difficult to scale in size (must also scale in time)
• Changing one part of motionChanging one part of motion
Motion Capture Weaknesses
Blending segmentsBlending segments
• Motion clips are short (due to range and tethers)Motion clips are short (due to range and tethers)
• Dynamic motion generation requires blending at Dynamic motion generation requires blending at run timerun time
• Difficult to manage smooth transitionDifficult to manage smooth transition
Blending segmentsBlending segments
• Motion clips are short (due to range and tethers)Motion clips are short (due to range and tethers)
• Dynamic motion generation requires blending at Dynamic motion generation requires blending at run timerun time
• Difficult to manage smooth transitionDifficult to manage smooth transition
Procedural
www.sodaplay.com
http://jet.ro/dismount
Examples
Inanimate video game objectsInanimate video game objects
• GT Racer carsGT Racer cars
• Soapbox about why this is so coolSoapbox about why this is so cool
Special effectsSpecial effects
• Explosions, water, secondary motionExplosions, water, secondary motion
• Phantom Menace CG droids after they were cut in Phantom Menace CG droids after they were cut in halfhalf
Inanimate video game objectsInanimate video game objects
• GT Racer carsGT Racer cars
• Soapbox about why this is so coolSoapbox about why this is so cool
Special effectsSpecial effects
• Explosions, water, secondary motionExplosions, water, secondary motion
• Phantom Menace CG droids after they were cut in Phantom Menace CG droids after they were cut in halfhalf
Procedural Animation
Very general term for a technique that puts Very general term for a technique that puts more complex algorithms behind the more complex algorithms behind the scenesscenes
Technique attempts to consolidate artistic Technique attempts to consolidate artistic efforts in algorithms and heuristicsefforts in algorithms and heuristics
Allows for optimization and physical Allows for optimization and physical simulationsimulation
Very general term for a technique that puts Very general term for a technique that puts more complex algorithms behind the more complex algorithms behind the scenesscenes
Technique attempts to consolidate artistic Technique attempts to consolidate artistic efforts in algorithms and heuristicsefforts in algorithms and heuristics
Allows for optimization and physical Allows for optimization and physical simulationsimulation
Procedural Animation Strengths
Animation can be generated ‘on the fly’Animation can be generated ‘on the fly’
Dynamic response to userDynamic response to user
Write-once, use-oftenWrite-once, use-often
Algorithms provide accuracy and exhaustive Algorithms provide accuracy and exhaustive search that animators cannotsearch that animators cannot
Animation can be generated ‘on the fly’Animation can be generated ‘on the fly’
Dynamic response to userDynamic response to user
Write-once, use-oftenWrite-once, use-often
Algorithms provide accuracy and exhaustive Algorithms provide accuracy and exhaustive search that animators cannotsearch that animators cannot
Procedural Animation Weaknesses
We’re not great at boiling human skill down We’re not great at boiling human skill down to algorithmsto algorithms• How do we move when juggling?How do we move when juggling?
Difficult to generateDifficult to generate
Expensive to computeExpensive to compute
Difficult to force system to generate a Difficult to force system to generate a particular solutionparticular solution• Bicycles will fall downBicycles will fall down
We’re not great at boiling human skill down We’re not great at boiling human skill down to algorithmsto algorithms• How do we move when juggling?How do we move when juggling?
Difficult to generateDifficult to generate
Expensive to computeExpensive to compute
Difficult to force system to generate a Difficult to force system to generate a particular solutionparticular solution• Bicycles will fall downBicycles will fall down
Homework
For next week:For next week:
• Read Chris Hecker articles (all four in series) on Read Chris Hecker articles (all four in series) on physical simulationphysical simulation
Game Developer MagazineGame Developer MagazineOctober/November 1996October/November 1996
• http://www.d6.com/users/checker/pdfs/gdmphys[1-4].pdfhttp://www.d6.com/users/checker/pdfs/gdmphys[1-4].pdf
For next week:For next week:
• Read Chris Hecker articles (all four in series) on Read Chris Hecker articles (all four in series) on physical simulationphysical simulation
Game Developer MagazineGame Developer MagazineOctober/November 1996October/November 1996
• http://www.d6.com/users/checker/pdfs/gdmphys[1-4].pdfhttp://www.d6.com/users/checker/pdfs/gdmphys[1-4].pdf