CS4496 Computer Animation Instructor: C. Karen Liu Karen Liu - - PowerPoint PPT Presentation

cs4496 computer animation
SMART_READER_LITE
LIVE PREVIEW

CS4496 Computer Animation Instructor: C. Karen Liu Karen Liu - - PowerPoint PPT Presentation

CS4496 Computer Animation Instructor: C. Karen Liu Karen Liu Associate Professor at School of Interactive Computing Karen Liu Associate Professor at School of Interactive Computing Our TA: John Turner Administrations


slide-1
SLIDE 1

CS4496 Computer Animation

Instructor: C. Karen Liu

slide-2
SLIDE 2

Karen Liu

Associate Professor at School of Interactive Computing

slide-3
SLIDE 3

Karen Liu

Associate Professor at School of Interactive Computing

slide-4
SLIDE 4

Our TA: John Turner

slide-5
SLIDE 5

Administrations

✦ http://www.cc.gatech.edu/classes/AY2015/cs4496_spring/ ✦ Course slides and projects are online. ✦ No textbook, but there will be online reading materials. ✦ Office hours: Mon 12-00-1:00, TSRB 230A. ✦ TA office hours: Wed 12:30-2:30, COC at the tables.

slide-6
SLIDE 6

My goals

✦ Give you an overview of computer animation with an emphasis on

physics-based animation and character animation.

✦ Teach you how to be a good engineer who also understands art. ✦ Inspire some of you to do research in computer animation.

slide-7
SLIDE 7

You will learn how to…

✦ Interpolate keyframes using different families of splines. ✦ Simulate particles, rigid bodies, articulated rigid bodies,

deformable objects, fluids, cloth.

✦ Numerically integrate an ODEs ✦ Implement constrained systems, collision detection and handling,

inverse kinematics, and grid-based fluid solvers.

✦ Synthesize animal locomotion, hand manipulation, facial

animation, skin/muscle deformation.

slide-8
SLIDE 8

You will not learn…

✦ How to use commercial animation tools such as Maya (maybe a

little bit).

✦ How to use game engines such as Unity. ✦ How to render high quality animation.

slide-9
SLIDE 9

Prerequisites

✦ Thorough understanding of linear algebra. ✦ Vector calculus. ✦ A good working knowledge of C and C++ programming.

slide-10
SLIDE 10

Grading

✦ Reading assignments (0%) ✦ Six projects (75%) ✦ Final exam (25%)

slide-11
SLIDE 11

Projects

✦ Project 1: Splines. ✦ Project 2: Gallio’s experiment. ✦ Project 3: Tinkertoy ✦ Project 4: Rigid body smoothie. ✦ Project 5: Fun with fluids. ✦ Project 6: Twister. ✦ Late policy: 20% reduction per day if you don’t have a good reason. ✦ Everything has to be turned in before 10 am on the due date.

slide-12
SLIDE 12

Quiz

✦ Quiz will be given and discussed in class from time to time. ✦ For every topic, expect 2-4 problems.

slide-13
SLIDE 13

Quiz

✦ Given two vectors, a = (3, 0, 1) and b = (-2, 5, 2), ✦ What is the dot product of a and b? ✦ What is the cross product of a and b? ✦ What is the norm of a? ✦ What is the angle between a and b? ✦ What is the projection of a on b?

slide-14
SLIDE 14

Quiz

✦ Given three n by n matrices A, B, and C ✦ Is AB = BA true? ✦ Is A(BC) = (AB)C true? ✦ Is (AB)T = ATBT true? ✦ Does A-1 always exist? ✦ What is the rank of A?

slide-15
SLIDE 15

About Maya

✦ You need to bring a laptop with Maya installed next Wednesday. ✦ No prior knowledge in Maya is required. ✦ Simple Maya tutorial to help you start. ✦ http://students.autodesk.com.

slide-16
SLIDE 16

About DART

✦ A simulation framework you will use to build your projects on. ✦ Skeleton code is provided for each project so you don’t need to start

from scratch.

✦ Everything is written in C++ ✦ Source code is available on Github.

slide-17
SLIDE 17

Introduction

✦ Keyframe animation ✦ Physics simulation. ✦ Character animation.

slide-18
SLIDE 18

Traditional animation

✦ Film runs at 24 frames per sec; that is, 1440

pictures to draw in one minute.

✦ Artistic vision has to be converted into a

sequence of still “keyframes”.

✦ Hard to draw consistent “in-between”

frames.

✦ Not enough to get the still right; must to

look right at full speed.

slide-19
SLIDE 19

Computer assisted animation

✦ Generate the images by rendering a

3D model.

✦ Manually set the parameters for

each keyframe.

✦ Automatically interpolate between

two drawings to produce inbetweens.

slide-20
SLIDE 20

Did it really get better?

Pencil and paper Computer Do computers really expedite the process of creating animation?

slide-21
SLIDE 21

What can’t be done by keyframes?

slide-22
SLIDE 22

Introduction

✦ Keyframe animation ✦ Physics simulation. ✦ Character animation.

slide-23
SLIDE 23

Physics simulation

✦ An algorithm that produces a sequence of states over time under

the laws of physics.

✦ What is a state?

slide-24
SLIDE 24

Simulation

xi ∆x xi+1 xi+1 = xi + ∆x xi

slide-25
SLIDE 25

Simulation

xi ∆x xi+1 xi+1 = xi + ∆x xi

Newtonian laws gravity wind gust elastic force… integrator

slide-26
SLIDE 26

Ordinary differential equations

˙ x(t) = f(x(t))

known function time derivative of the unknown function unknown function that evaluates the state given time

F = ma An ODE is an equation involving a function and its derivatives.

slide-27
SLIDE 27

Quiz

✦ What function does the black box represent?

x ˙ x f

1. 2. 3.

slide-28
SLIDE 28

Solving ODE

✦ Standard introductory differential equation courses focus on

finding solutions analytically.

✦ Linear ODEs can be solved by integral transforms. ✦ We will learn how to solve an ODE numerically in this class.

slide-29
SLIDE 29

Rigid bodies

slide-30
SLIDE 30

Rigid bodies

slide-31
SLIDE 31

Articulated rigid bodies

slide-32
SLIDE 32

Deformable bodies

slide-33
SLIDE 33

Deformable bodies

slide-34
SLIDE 34

Plastic materials

slide-35
SLIDE 35

Fluids

slide-36
SLIDE 36

Fluids

slide-37
SLIDE 37

Fluids

slide-38
SLIDE 38

Fluids

slide-39
SLIDE 39

Cloth

slide-40
SLIDE 40

Cloth

slide-41
SLIDE 41

Fluids + Solids

slide-42
SLIDE 42

Fluids + Cloth

slide-43
SLIDE 43

Melted

slide-44
SLIDE 44

Drowned

slide-45
SLIDE 45

Immolated

slide-46
SLIDE 46

Waterboarded

slide-47
SLIDE 47

Skewered

slide-48
SLIDE 48

Crushed

slide-49
SLIDE 49

Mutilated

slide-50
SLIDE 50

Introduction

✦ Keyframe animation ✦ Physics simulation. ✦ Character animation.

slide-51
SLIDE 51

Control rigid bodies

Popovic et al, 2001

slide-52
SLIDE 52

Control rigid bodies

slide-53
SLIDE 53

Control rigid bodies

slide-54
SLIDE 54

Control fluids

slide-55
SLIDE 55

Control fluids

slide-56
SLIDE 56

Control virtual humans

slide-57
SLIDE 57

Why is this hard?

✦ Human musculoskeletal system has a large number of degrees of

freedom and nonlinear dynamics

✦ The control mechanism must be robust to operate in complex

world.

✦ No qualitative ways to measure “Naturalness”

slide-58
SLIDE 58

Human motion

slide-59
SLIDE 59

Without control

slide-60
SLIDE 60

Why is this hard?

✦ Human musculoskeletal system has a large number of degrees of

freedom and nonlinear dynamics

✦ The control mechanism must be robust to operate in complex

world.

✦ No qualitative ways to measure “Naturalness”

slide-61
SLIDE 61

Complex animals movements

slide-62
SLIDE 62

Simulation

xi ∆x xi+1 xi+1 = xi + ∆x xi

Newtonian laws gravity wind gust elastic force… integrator

slide-63
SLIDE 63

Simulation

xi ∆x xi+1

Newtonian laws gravity wind gust elastic force… integrator

slide-64
SLIDE 64

Simulation + Control

xi ∆x xi+1

Newtonian laws integrator gravity contact force muscle force…

slide-65
SLIDE 65

Physics approach

slide-66
SLIDE 66

Physics approach

slide-67
SLIDE 67

Physics approach

slide-68
SLIDE 68

Why is this hard?

✦ Human musculoskeletal system has a large number of degrees of

freedom and nonlinear dynamics

✦ The control mechanism must be robust to operate in complex

world.

✦ No qualitative ways to measure “Naturalness”

slide-69
SLIDE 69

Data-driven approach

✦ Use captured data to synthesize

and interpolate new motions.

✦ Preserve detailed nuances of

human movements in the real world.

✦ Produce stable and compelling

animations in real-time.

slide-70
SLIDE 70

Motion capture

✦ Many different approaches. Our lab has an

  • ptical based system.

✦ Multiple infrared cameras. ✦ High temporal resolution (1000+ fps). ✦ Detect the locations of reflective markers.

slide-71
SLIDE 71

Raw data from mocap

✦ Capture 3D positions of the markers. ✦ Require inverse kinematics post-processing to produce animation

represented as joint angle trajectories.

slide-72
SLIDE 72

Final motion

slide-73
SLIDE 73

Skinning

slide-74
SLIDE 74

Facial animation