Introduction to Computer Graphics CS 445 / 645

advertisement
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
Download