55
projects in digital art • animation © 2009 fabio pellacini • 1 animation

animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 1

animation

Page 2: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 2

animation

shape specification as a function of time

Page 3: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 3

how animation works?

•  flip very fast a set of fixed images •  perceived as motion by our visual system

•  how many images per second? –  should be above flicker fusion: > 60 Hz –  NTSC TV signal: 60 half-frames per second –  movies: 24 fps repeated 3 times

Page 4: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 4

motion blur

•  avoid strobing effects (aliasing over time)

[Coo

k et

al.,

1984

]

Page 5: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 5

principles of animation

•  squash-and-stretch

[Las

site

r, 19

87]

Page 6: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 6

principles of animation

•  squash-and-stretch

slow motion

fast motion

fast motion w s.s.

[Las

site

r, 19

87]

Page 7: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 7

principles of animation

•  timing

[Las

site

r, 19

87]

Page 8: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 8

principles of animation

•  anticipation

[Las

site

r, 19

87]

Page 9: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 9

movie time

luxo jr.

Page 10: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 10

animation representation

•  many ways to represent changes with time

•  depends on intent –  artistic motion –  physically-plausible motion

Page 11: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 11

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

Page 12: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 12

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

Page 13: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 13

representing changes

•  one frame-at-a-time –  inefficient and cumbersome

•  key-frame animation –  define key poses –  interpolate in the middle

Page 14: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 14

key-frame animation

•  used in 2d hand-drawn animation –  head animators define key poses –  inbetweeners define intermediate poses

•  same conceptual framework –  animator defines key poses –  computer interpolates intermediate poses

Page 15: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 15

key-frame animation

[Las

site

r, 19

87]

Page 16: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 16

key-frame interpolation

•  how to define interpolating function –  choose smooth curve formulation: splines –  not controlled by the key-frame themselves

•  can only add more keyframes if things go wrong

–  acceleration depends on interpolating functions

[Lassiter, 1987]

Page 17: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 17

key-frame animation

•  what to interpolate? –  shape 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

Page 18: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 18

key-frame animation visualization

•  feedback comes in various forms –  animation playback –  parameter curve –  ghosting

time

valu

e

Page 19: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 19

inheriting vs. constraining

•  hierarchical transformations are inherited –  children can completely change their transform –  useful as a UI technique to speed up the setup

•  sometimes we want to enforce constraints –  e.g. feet on the ground –  various kinds exists –  hard to mix with other animation sources –  will not cover in depth

Page 20: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 20

constraints on hierarchies

•  reduce degrees of freedom of child transform

•  robot arm example

Page 21: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 21

constraints on hierarchies

•  sliding joints

•  rotational joints

Page 22: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 22

animating a stick-figure/skeleton

•  bones do not deform –  can be represented by rigid body transformations

•  hierarchies can be naturally applied –  e.g. hand parented to arm, foot to leg, etc.

•  constraints to avoid unrealistic motion –  only rotational joints –  most rotations have limited angles, e.g. knee

•  we have a very good model for stick figure animation!!!

Page 23: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 23

providing deformation parameters

•  kinematics –  provide transformation parameters directly –  hand-editing

•  forward kinematics •  inverse kinematics

–  motion capture

•  dynamics –  solve physics equations of motion

Page 24: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 24

forward kinematics

•  artists defines 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

Page 25: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 25

forward kinematics

•  position at end of the chain

Page 26: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 26

inverse kinematics

•  specify directly the position at the end of chain –  easier to control motion, less trial and error –  joints angles solutions by inverting previous eqs.

Page 27: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 27

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

Page 28: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 28

inverse kinematics

•  or try to capture “styles” –  by learning from data sets

[Gro

chow

et

al.,

2004

]

Page 29: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 29

review: forward kinematics

•  top-down method –  begin by positioning and rotating parent objects –  then position and rotate child objects

•  uses a hierarchical linking from parent to child –  pivot points define joints between objects

•  children inherit the transforms of their parents

Page 30: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 30

review: inverse kinematics

•  bottom-up method –  position a goal location for a joint –  IK solver determines the transforms for all parents

•  uses a hierarchical linking from parent to child –  pivot points define joints between objects –  joints can be limited by constraining positional and

rotational degrees of freedom

•  child transforms affect parents’ ones –  depending on goal systems, constraints and defaults

Page 31: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 31

forward vs. inverse kinematics

•  forward kinematics –  more laborious approach (needs lots of keyframes) –  less setup (since does not require proper joints) –  more control over final look

•  inverse kinematics –  way less work –  more setup –  a lot less control –  new style-based IK systems soon available

Page 32: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 32

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

Page 33: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 33

motion capture usage

•  heavily in games, a bit in movies –  not very expressive, but more high expectation

[© S

ony]

Page 34: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 34

motion capture systems [©

Ani

maz

oo]

[Pop

ovic

]

mechanical optical

Page 35: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 35

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?

•  often just starting point for manual animation

Page 36: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 36

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 –  simply for good-enough solutions

Page 37: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 37

dynamics

•  animation from dynamics is accurate –  since we are simulating physics

•  at the price of less artistic freedom –  cartoon physics anyone?

•  control-vs-correctness triage often hard –  interests in mixing dynamics with kinematics –  open research issue

Page 38: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 38

dynamics

•  simulating simple objects

[Fed

kiw

et

al.]

Page 39: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 39

dynamics

•  simulating complex situations

[Fed

kiw

et

al.]

Page 40: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 40

dynamics

•  simulating complex objects

[Fed

kiw

et

al.]

Page 41: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 41

dynamics

•  simulating complex objects

[Fed

kiw

et

al.]

Page 42: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 42

controlling dynamics

•  basic principle: cheat where you can

[Pop

ovic

et

al.,

2003

]

Page 43: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 43

movie time

for the birds

Page 44: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 44

natural phenomena

•  often 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 systems

•  simulation algorithms –  very different ones depending on simulation domain

•  lots of open research

Page 45: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 45

natural phenomena

[Fed

kiw

et

al.]

Page 46: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 46

natural phenomena

[Fed

kiw

et

al.]

Page 47: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 47

natural phenomena

[Fed

kiw

et

al.]

Page 48: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 48

natural phenomena

[Fed

kiw

et

al.]

Page 49: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 49

particle systems

•  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

Page 50: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 50

particle systems

•  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

Page 51: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 51

particle dynamics

•  Newton equation

•  find position at time t –  given position, velocity and acceleration at time 0 –  initial value problem: use Euler method

•  more efficient methods exist

Page 52: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 52

particle systems example

[Ree

ves,

1983

]

Page 53: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 53

particle systems example

[Ree

ves,

1983

]

Page 54: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 54

particle systems example

[Ree

ves,

1983

]

Page 55: animation - Fabio Pellacinipellacini.di.uniroma1.it/teaching/projects10/lectures/05_animation.pdf · key-frame animation • what to interpolate? – shape are defined by control

projects in digital art • animation © 2009 fabio pellacini • 55

particle systems example

[Ree

ves,

1983

]