Computer Animation • 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 kinematics • 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 Forward Kinematics
• 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 inverse kinematics • 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