animation 1 animation shape specification as a function of time 2 - - PowerPoint PPT Presentation

animation
SMART_READER_LITE
LIVE PREVIEW

animation 1 animation shape specification as a function of time 2 - - PowerPoint PPT Presentation

animation 1 animation shape specification as a function of time 2 animation representation many ways to represent changes with time intent artistic motion physically-plausible motion efficiency typically not a major problem control most


slide-1
SLIDE 1

animation

1

slide-2
SLIDE 2

animation

shape specification as a function of time

2

slide-3
SLIDE 3

animation representation

many ways to represent changes with time intent artistic motion physically-plausible motion efficiency typically not a major problem control most algorithms concerned with this

3

slide-4
SLIDE 4

animation editing

different techniques for different processes key-framing describe key poses, interpolate the rest man-made process: laborious but artistic good for characters procedural animation motion expressed algorithmically good for small secondary motion or special effects e.g. clock animation

4

slide-5
SLIDE 5

animation editing

different techniques for different processes motion capture reproducing performances good for character, but requires lots of hand-tuning physically-based simulation assign physical properties simulate physics realistic, but difficult to set up and control style

5

slide-6
SLIDE 6

principles of animation

classic artistic choices in hand-drawn animation now used to describe computer animation non-technical description can't build algorithms on but useful to think about what the goals are

6

slide-7
SLIDE 7

principles of animation

squash-and-stretch

[Lassiter, 1987]

7

slide-8
SLIDE 8

principles of animation

squash-and-stretch slow motion fast motion fast motion w/ s.s. [Lassiter, 1987]

8

slide-9
SLIDE 9

principles of animation

timing

[Lassiter, 1987]

9

slide-10
SLIDE 10

principles of animation

anticipation

[Lassiter, 1987]

10

slide-11
SLIDE 11

movie time

luxo jr.

11

slide-12
SLIDE 12

how animation works?

flip very fast a set of fixed images perceived as motion by our visual system how many images per second? shoudl be above flicker fusion: > 60 Hz NTSC TV signal: 60 half-frames per second movies: 24fps repeated 3 times

12

slide-13
SLIDE 13

motion blur

avoid aliasing over time

  • equiv. to color "averages" to remove "jaggies"

[Cook et al., 1984]

13

slide-14
SLIDE 14

representing changes

  • ne frame-at-a-time

inefficient and cumbersome key-pose animation define key poses interpolate in the middle

14

slide-15
SLIDE 15

key-frame animation

used in 2D hand-drawn animation head animators define key poses in-betweeners define intermediate poses same conceptual framework animator defines key poses computer interpolates intermediate poses

15

slide-16
SLIDE 16

key-frame animation

[Lassiter, 1987]

16

slide-17
SLIDE 17

key-frame animation

how to define interpolating function choose smooth curve formulation: splines interpolation is not rock-solid [Lassiter, 1987]

17

slide-18
SLIDE 18

key-frame animation

feedback comes in various forms animation playback parameter curve ghosting

18

slide-19
SLIDE 19

key-frame animation

what to interpolate? shapes are defined by control points too many controls for animation purposes express deformation with meaningful parameters deformation: changes in shape degrees of freedom modeling: number of control points animation: parameters of deformations ui: parameters of manipulators use smallest number of degrees of freedom

19

slide-20
SLIDE 20

deformation examples

rigid body transformation translation/rotation shape is unchanged modeling representation move all the control points: DOFs deformation/animation transformation translation + rotation vector: DOFs

= M × P P′ n × 3 6

20

slide-21
SLIDE 21

deformation examples

deformations change shape introduce different functions limits on the type of deformation

= f(P,{ }) P′ αi

21

slide-22
SLIDE 22

deformation examples

bend

22

slide-23
SLIDE 23

deformation examples

twist

23

slide-24
SLIDE 24

deformation examples

using a lattice of control points key idea: size of lattice is smaller than model

24

slide-25
SLIDE 25

complex deformations

complex deformation by function composition no unified description so apply one after the other

= ( (P)) P′ f1 f2

25

slide-26
SLIDE 26

complex deformations

bend + twist

26

slide-27
SLIDE 27

deformations and control points

should we deform control points or the surface? in general, deforming control points is wrong cannot prove that the surface is equivalent in practice, deforming control points is ok control mesh is tessellated enough many useful transforms are well-behaved

27

slide-28
SLIDE 28

deformations for characters

  • ften combination of lots of deformations

specialized deformations mesh skinning: body deformation blend shapes: face deformation

28

slide-29
SLIDE 29

mesh skinning

deform surface around a skeleton

[Domine'/NVIDIA]

29

slide-30
SLIDE 30

mesh skinning

concepts based on skin/bone interactions

[Fedkiw et al.]

30

slide-31
SLIDE 31

mesh skinning

every bone has a transformation: every bone-vertex has a weight: user provided, often zeros for most pairs typically not zero only for close enough "bones" deformation is weighted average of positions transformed by every bone weighted by the vertex weight

Mj wij = p′

i

j

wijMjpi

31

slide-32
SLIDE 32

mesh skinning

deformation often defined for a rest pose positions are defined in model space reference matrices for model-to-bone transform normals use inverse-transpose formulation

= p′

i

j

wijMjM −1

ref jpi

32

slide-33
SLIDE 33

mesh skinning

solution for body deformation efficient to compute hardware acceleration available good control but hard to set up proper weights

  • ften used in games as-is

used in movies as part of more complex set-ups

33

slide-34
SLIDE 34

mesh skinning issues

surface collapse around joints or for strong twists hard to fix cannot be fixed by tweaking weights [Lewis et al., 2001]

34

slide-35
SLIDE 35

mesh skinning - defining weights

  • ften very time consuming: active research

[James and Twigg, 2005]

35

slide-36
SLIDE 36

mesh skinning - efficiency

hard to use, but really fast implementations (Project Page)

[James and Twigg, 2005]

36

slide-37
SLIDE 37

blend shapes

interpolate set of meshes

[3DMax docs/Discreet]

37

slide-38
SLIDE 38

blend shapes

user provides a set of meshes with same topology final mesh is weighted sum of base meshes weights have to sum to 1

= = 1 p′

i

j

wjpji ∑

j

wj

38

slide-39
SLIDE 39

blend shapes

solution for face deformation efficient to compute albeit increase memory usage great control but only works for small deformation cannot produce "novel" shapes

  • ften used in games

39

slide-40
SLIDE 40

interpolating deformations

just interpolate deformation parameters translation: position rotation: quaternions bending/twisting: angle skinning: skeleton translation/rotation blending: blend weights

40

slide-41
SLIDE 41

interpolating translations

linearly blend the translation keys for linear , is the midpoint between the keys define a spline passing by the translation values additional controls define speed and acceleration

f v(0.5) v(t) = (1 − f(t)) + f(t) v0 v1

41

slide-42
SLIDE 42

interpolating rotations

how many degrees of freedom do rotations have 3, 1 for angle and 2 for direction what is a good representation for rotation? matrices Euler angles quaternions

42

slide-43
SLIDE 43

interpolating rotations

using matrices is problematic for linear , may not be a rotation e.g., is identity, is rotation about is not a rotation, since is not

M(t) = (1 − f(t)) + f(t) M0 M1 f M(0.5) M0 M1 90∘ x M(t) MM T I M(0.5) = = ⎡ ⎣ 1 1 1 ⎤ ⎦ ⎡ ⎣ 1 −1 1 ⎤ ⎦ ⎡ ⎣ 1 0.5 −0.5 0.5 0.5 ⎤ ⎦

43

slide-44
SLIDE 44

[Hoffmann, docs-hoffmann.de]

interpolating rotations

Euler angles rotation around 3 different axes can represent any rotation interpolation is unnatural around then around around then around

90∘ Z Y = 120∘ (1,1,1) 30∘ Z Y ≠ 40∘ (1,1,1)

44

slide-45
SLIDE 45

interpolating rotations

gimbal lock may lock degrees of freedom when interpolating

[Hoffmann, docs-hoffmann.de]

45

slide-46
SLIDE 46

interpolating rotations

matrices: incorrect rotation Euler angles: unnatural and gimbal lock quaternions: nice mathematical framework won't cover in depth intuition: interpolate rotation as point on sphere

[adapted from MIT course]

46

slide-47
SLIDE 47

providing deformation parameters

kinematics provide transformation parameters directly hand-editing forward kinematics inverse kinematics motion capture dynamics solve physics equations of motion

47

slide-48
SLIDE 48

forward kinematics

artists define transformation parameters directly hierarchical transformations used for bone structures in character animation e.g. skeletons or robots hard to define what happens at end of chains e.g. which angles should the leg be to have the foot touch the floor? done by trial and error

48

slide-49
SLIDE 49

forward kinematics

position at end of the chain

= cos + cos( + ) px l0 θ0 l1 θ0 θ1 = sin + sin( + ) py l0 θ0 l1 θ0 θ1

49

slide-50
SLIDE 50

inverse kinematics

specify directly the position at the end of chain easier to control motion, less trial and error joint angles solutions by inverting previous eqns.

50

slide-51
SLIDE 51

inverse kinematics

more bones results in under-constrained system infinite number of solutions which solution to pick? impose constraints: minimize energy function based on plausible motion

51

slide-52
SLIDE 52

inverse kinematics

  • r try to capture "styles"

by learning from data sets

[Grochow et al., 2004]

52

slide-53
SLIDE 53

motion capture

record motion and play it back how to record: motion capture systems how to apply motion to digital characters motion editing motion retargeting

53

slide-54
SLIDE 54

motion capture usage

heavily in games, a bit in movies not very expressive, but higher expectation

(c) Sony (c) Fox

54

slide-55
SLIDE 55

motion capture systems

mechanical

  • ptical

[(c) Animazoo] [Popovic]

55

slide-56
SLIDE 56

motion capture editing

motion capture generates too much raw data how to edit it? try to fit with lower DOFs models motion retargeting capture from actor A, but apply to actor B how to do this in a believable manner? clean up motion noise present in data / too little DOFs how to clean it up?

  • ften just starting point for manual animation

56

slide-57
SLIDE 57

kinematics vs. dynamics

kinematics: specify parameters directly dynamics: solve the equations of motion physically based animation rigid body dynamics solve rigid body equations collision detection doable in many cases more complex cases almost impossible cannot model physics accurately enough simplify for good-enough solutions

57

slide-58
SLIDE 58

dynamics

animation from dynamics is accurate since we are simulating physics at the price of less artistic freedom cartoon physics control-vs-correctness triage often hard interests in mixing dynamics with kinematics

  • pen research issue

58

slide-59
SLIDE 59

dynamics

simulating simple objects

[Fedkiw et al.]

59

slide-60
SLIDE 60

dynamics

simulating complex situations

[Fedkiw et al.]

60

slide-61
SLIDE 61

dynamics

simulating complex objects

[Fedkiw et al.]

61

slide-62
SLIDE 62

controlling dynamics

basic principle: cheat where you can

[Popovic et al., 2003]

62

slide-63
SLIDE 63

movie time

for the birds

63

slide-64
SLIDE 64

natural phenomena

  • ften done by physical simulation

looks like computational physics simulation domain choose based on phenomena to define e.g. smoke uses volumetric adaptive grids e.g. cloth uses points/springs system simulation algorithms very different ones depending on simulation domain lots of open research Fedkiw site

64

slide-65
SLIDE 65

natural phenomena

[Fedkiw et al.]

65

slide-66
SLIDE 66

natural phenomena

[Fedkiw et al.]

66

slide-67
SLIDE 67

natural phenomena

[Fedkiw et al.]

67

slide-68
SLIDE 68

natural phenomena

[Fedkiw et al.]

68

slide-69
SLIDE 69

particle system

collection of particles simple, since it is just simulating point dynamics used heavily in special effects complex phenomena represented as point/force collections simplest dynamics formulation point properties dynamics: position, velocity, acceleration varying properties: color, temperature, lifespan constant properties: mass. lifetime

69

slide-70
SLIDE 70

particle system

for each frame create new random particles where to create? along point/line/surface artistic control delete expired particles random/lifespan/collision update particles based on dynamics render particles

70

slide-71
SLIDE 71

particle dynamics

Newton equation find position at time given position, velocity, and acceleration at time initial value problem: use Euler method more efficient methods exist

v = a = F(p,v,t) = ma dp dt p d2 dt2 t → p(0) = p0 v(0) = v0 a(0) = a0 v(t + Δt) = v(t) + a(t)Δt p(t + Δt) = p(t) + v(t)Δt + a(t)Δt2 2

71

slide-72
SLIDE 72

particle systems example

[Reeves, 1983]

72

slide-73
SLIDE 73

particle systems example

[Reeves, 1983]

73

slide-74
SLIDE 74

particle systems example

[Reeves, 1983]

74