Computer • What is animation? o Make objects change over time according to scripted actions Keyframe Animation Pixar • What is simulation? Adam Finkelstein & Tim Weyrich o Predict how objects change over time according to physical laws Princeton University C0S 426, Spring 2008

University of Illinois

1 2

Computer Animation Outline ! Keyframe animation • Adding inverse • Adding dynamics

Pixar Angel Plate 1

3 4

Keyframe Animation Keyframe Animation • Define character poses at specific time steps • Interpolate variables describing keyframes to called “keyframes” determine poses for character “in-between”

Lasseter `87 Lasseter `87

5 6 Example: 2-Link Structure

• Two links connected by rotational joints • Animator specifies joint angles: !1 and !2 • Computer finds positions of end-effector: X

!2 “End-Effector” ! l2 2 l2 X = (x,y) l1 X = (x,y) l1 !1 !1 (0,0) (0,0)

7 8

Forward Kinematics Example (online) • Joint motions can be specified by spline curves

!2 l2

X = (x,y) l1

!1 (0,0) !1

!2 t

9 10

Keyframe Animation Keyframe Animation • Inbetweening: • Inbetweening: o Linear interpolation - usually not enough continuity o Spline interpolation - maybe good enough

Linear interpolation

H&B Figure 16.16 H&B Figure 16.11

11 12 Keyframe Animation Keyframe Animation • Inbetweening: • Inbetweening: o Cubic spline interpolation - maybe good enough o Cubic spline interpolation - maybe good enough » May not follow physical laws » May not follow physical laws

Lasseter `87 Lasseter `87

13 14

Example: Walk Cycle Example: Walk Cycle • Articulated figure: • Hip joint orientation:

Watt & Watt Watt & Watt

15 16

Example: Walk Cycle Example: Walk Cycle • Knee joint orientation: • Ankle joint orientation:

Watt & Watt Watt & Watt

17 18 Example: Ice Skating Outline • Keyframe animation • Adding • Adding dynamics

(Mao Chen, Zaijin Guan, Zhiyan Liu, Xiaohu Qie, CS426, Fall98, Princeton University) Angel Plate 1

19 20

Example: 2-Link Structure Inverse Kinematics • What if animator knows position of “end-effector” • Animator specifies end-effector positions: X

• Computer finds joint angles: !1 and !2:

!2 “End-Effector” !2 l2 l2 X = (x,y) X = (x,y) l1 l1

!1 !1 (0,0) (0,0)

21 22

Inverse Kinematics Inverse Kinematics • End-effector postions can be specified by spline • Problem for more complex structures curves o System of equations is usually under-defined o Multiple solutions !2 l2 X = (x,y) !2 l X = (x,y) l3 1 l2 ! 1 ! (0,0) 3 x l1

!1 Three unknowns: ! , ! , ! y t (0,0) 1 2 3 Two equations: x, y

23 24 Inverse Kinematics Example: Ball Boy • Solution for more complex structures: o Find best solution (e.g., minimize energy in motion) o Non-linear optimization

X = (x,y) !2 l3 l2

!3 l1

!1 “Ballboy” (0,0) Fujito, Milliron, Ngan, & Sanocki Princeton University

25 26

More examples: online Outline • Keyframe animation • Adding inverse kinematics • Adding dynamics

Pixar Angel Plate 1

27 28

Dynamics Spacetime Constraints • Simulation of physics insures realism of motion • Animator specifies constraints: o What the character!s physical structure is » e.g., articulated figure o What the character has to do (keyframes) » e.g., jump from here to there within time t o What other physical structures are present » e.g., floor to push off and land o How the motion should be performed » e.g., minimize energy

Lasseter `87

29 30 Spacetime Constraints Spacetime Constraints • Computer finds the “best” physical motion • Solve with satisfying constraints iterative optimization • Example: particle with jet propulsion methods o x(t) is position of particle at time t o f(t) is force of jet propulsion at time t o Particle!s equation of motion is:

o Suppose we want to move from a to b within t0 to t1 with minimum jet fuel:

Minimize subject to x(t0)=a and x(t1)=b Witkin & Kass `88 Witkin & Kass `88

31 32

Spacetime Constraints Spacetime Constraints • Advantages: • Adapting motion: o Free animator from having to specify details of physically realistic motion with spline curves o Easy to vary motions due to new parameters and/or new constraints Original Jump • Challenges: o Specifying constraints and objective functions o Avoiding local minima during optimization

Heavier Base Witkin & Kass `88

33 34

Spacetime Constraints Spacetime Constraints • Adapting motion: • Adapting motion:

Hurdle Ski Jump

Witkin & Kass `88 Witkin & Kass `88

35 36 Spacetime Constraints Example: Manipulation of Sims. • Advantages: o Free animator from having to specify details of physically realistic motion with spline curves o Easy to vary motions due to new parameters and/or new constraints

• Challenges: o Specifying constraints and objective functions Interactive Manipulation of Rigid Body Simulations. o Avoiding local minima during optimization Popovic et al Siggraph 2000.

Popovic

37 38

Summary • Keyframe animation o Poses specified at key times o In-betweening to fill in the rest • Incorporating inverse kinematics o Makes keyframes easier to specify • Incorporating dynamics o Makes animation easier to adapt

39