foundations of computer graphics (spring 2010) cs 184, lecture 24: animation cs184 many slides...

35
Foundations of Computer Foundations of Computer Graphics (Spring 2010) Graphics (Spring 2010) CS 184, Lecture 24: Animation http://inst.eecs.berkeley.edu/~cs184 Many slides courtesy Adam Finkelstein, James O’Brien,

Post on 19-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Foundations of Computer Graphics Foundations of Computer Graphics (Spring 2010)(Spring 2010)

CS 184, Lecture 24: Animation

http://inst.eecs.berkeley.edu/~cs184

Many slides courtesy Adam Finkelstein, James O’Brien, others

Page 2: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

To DoTo Do

Submit HW 4 (today)

Start working on HW 5 (can be simple add-on)

Page 3: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

These LecturesThese Lectures

3 classical prongs in graphics pipeline: Modeling, Rendering, Animation

We talk a little about animation or motion

Limited time, hence fun lectures, not covered in detail on final

Possibility for HW 5, but only if very motivated

Will also show historical videos

Page 4: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

History of Computer AnimationHistory of Computer Animation

Video (also shown first class)

Page 5: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Computer AnimationComputer Animation

What is animation? Motion of objects (change

behavior with time) Often scripted with spline curve Trivial example animations for HW 3

What is simulation? Predict how objects move according to laws of physics Graphics animation often involves “directable” simulation Fracture video (O’Brien)

Geri’s game: Pixar

Page 6: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

2D and 3D Animation2D and 3D Animation

Homer 3DHomer 2D

Page 7: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Principles of Traditional AnimationPrinciples of Traditional Animation

Page 8: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Squash and StretchSquash and Stretch

Page 9: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

AnticipationAnticipation

Page 10: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

OutlineOutline

Keyframes

Articulated Figures

Kinematics

Dynamics

Page 11: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Computer AnimationComputer Animation

Simplest idea: Keyframing or in-betweening

Character poses at specific keyframes Computer interpolates in-between frames

Page 12: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

How to Interpolate?How to Interpolate?

Linear interpolation not usually good enough

Page 13: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Keyframe InterpolationKeyframe Interpolation

Page 14: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

KeyframingKeyframing

Page 15: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Motion Capture (recorded)Motion Capture (recorded)

Page 16: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Inverse KinematicsInverse Kinematics

Consider structure of articulated object

Page 17: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

OutlineOutline

Keyframes

Articulated Figures

Kinematics

Dynamics

Page 18: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Articulated FiguresArticulated Figures

Rigid objects connected by joints

Page 19: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Humanoid CharactersHumanoid Characters

Page 20: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

OutlineOutline

Keyframes

Articulated Figures

Kinematics

Dynamics

Page 21: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Kinematics and DynamicsKinematics and Dynamics

Kinematics Consider only motion. Positions, velocity, acceleration

Dynamics Considers underlying forces. Initial conditions+physics

Articulated objects Forward and inverse kinematics Possibly forward and inverse dynamics Many links to robotics, mechanics and other fields

Page 22: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Simple 2 link armSimple 2 link arm

2 links connected by rotational joints

Page 23: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Forward KinematicsForward Kinematics

Specify joint angles, computer finds end-effector

Page 24: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Forward KinematicsForward Kinematics

Then specify joint motions with spline curves

Page 25: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Inverse KinematicsInverse Kinematics

Animator knows/specifies end-effector System must compute joint angles Harder, topic of next lecture, possible HW 5

Page 26: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Summary of KinematicsSummary of Kinematics

Forward kinematics Specify joint angles, system computes end-effector

Inverse kinematics Easier to specify for most animations Animator specifies end-effector System computes joint angles (harder) “Goal-Directed” motion (animator specifies end-goals)

Page 27: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

OutlineOutline

Keyframes

Articulated Figures

Kinematics

Dynamics

Page 28: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

DynamicsDynamics

Consider underlying forces

Motion from initial conditions, forces

In graphics, include goals Optimization to satisfy goals and physics

Page 29: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

DynamicsDynamics

Simulation to ensure physical realism

Spacetime Constraints [Witkin and Kass 88] Goals (e.g. jump from here to there) Optimized motion (e.g. minimize energy or torque) Character’s physical structure (articulation) Other constraints (foot contact, floor etc.) Iterative optimization given constraint, objective

Page 30: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Spacetime ConstraintsSpacetime Constraints

Page 31: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Spacetime ConstraintsSpacetime Constraints

Page 32: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Spacetime ConstraintsSpacetime Constraints

Advantages Directly specify goals, not low-level joint angles etc. Can easily edit and vary motions

Disadvantages Specifying constraints, objective functions Optimization, and avoiding local minima

Page 33: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

VideoVideo

Page 34: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

Dynamics: Physical SimulationDynamics: Physical Simulation

Rigid Bodies

Soft deformable objects

Cloth

Liquids (water)

Gases (smoke, fluids)

Wrinkle Synthesis Video

Page 35: Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation cs184 Many slides courtesy Adam Finkelstein,

History of Computer Animation 2History of Computer Animation 2

Part 2 of video