<<

Outline

Animation 1 COM3404 2 Key-framing 3 Richard Everson 4 School of Engineering, Computer Science and Mathematics University of Exeter References [email protected] http://www.secamlocal.ex.ac.uk/studyres/COM304 Fundamentals of 3D . Watt. Computer Graphics: Principles and Practice. Foley et al (1995). Principles of Three-Dimensional . M. O’Rourke.

Richard Everson Animation 1 / 43 Richard Everson Animation 2 / 43

Animation Victorian animation

Animation Bring to life Phenakistoscope

Moving graphics of any kind: sequences of single images flipbooks, kineographs phenakistoscope, zoetrope cartoon films computer animation Speed 6 frames per second for impression of movement : 24 fps TV: 30 fps Computers: upto 100 fps Double buffering Render to off-screen buffer; swap with displayed buffer

Richard Everson Animation 4 / 43 Richard Everson Animation 5 / 43 Computer Animation Key-framing

Specify positions in a few key frames

AMC

What can be animated 40602

602 AMC U.S. AIR FORCE

40602

602 U.S. AIR FORCE

AMC

Objects Size, position, rotation, colour, texture, shape 40602

602 U.S. AIR FORCE Camera Position direction, field of view, focal length

AMC

40602

602 U.S. AIR FORCE

AMC

40602

602 Lights Position, type, colour U.S. AIR FORCE

AMC

40602

602 U.S. AIR FORCE Methods Key-framing/interpolation Motion paths Interpolate intermediate frames: ‘in-betweening’ Hierarchical systems

AMC

40602

602 AMC U.S. AIR FORCE

40602

602 Forward and U.S. AIR FORCE

AMC

40602

602 Motion dynamics U.S. AIR FORCE

AMC

40602

602 AMC U.S. AIR FORCE Motion capture 40602

602 U.S. AIR FORCE

AMC AMC

40602 40602

602 602 U.S. AIR FORCE U.S. AIR FORCE

AMC

40602

602 U.S. AIR FORCE

Richard Everson Animation 6 / 43 Richard Everson Animation 8 / 43

Key frame interpolation Example:

Linear interpolation A fighter dives into a canyon, flies next to the water and rises again. The t − t0 camera follows the motion and there is a reflection in the water. v(t) = v0 + (v1 − v0) t1 − t0 t − t0 x = x0 + (x1 − x0) t1 − t0 t − t0 y = y0 + (y1 − y0) t1 − t0 t − t0 z = z0 + (z1 − z0) t1 − t0 Simple Motion appears jerky at the key-frames Spline interpolation Hermite splines or NURBS give fine control over location Hermite splines guaranteed to pass through control points Most modelling packages allow interactive editing of motion path Linking of paths to permit camera to track a moving object etc.

Richard Everson Animation 9 / 43 Richard Everson Animation 10 / 43 Example: Blender Keyframing: collision avoidance

Key 1 2 3 4

Key 5 6 7 8

Richard Everson Animation 11 / 43 Richard Everson Animation 29 / 43

Keyframing: collision avoidance Keyframing

Keyframing of limbs requires a significant additional effort to avoid collions and unrealistic positions during interpolation. Inverse kinematics determines joint motions necessary to achieve a goal: more in following lectures. Key 9 10 11 12 Additional constraints to limit the joint only to realistic motions. Lotus position keyframing by Jean-Christophe Nebel, Keyframe interpolation with self-collision avoidance in Computer Animation and ’99, pages 77-86. Eurographics, 1999.

Key 13 14 15 16

Richard Everson Animation 30 / 43 Richard Everson Animation 31 / 43 Key-frame orientation Key-frame colour

Choose rotation axis Interpolate angle about axis Interpolation can be done in Interpolate takes the shortest path on a unit sphere (geodesic path) RGB or HSV space

Richard Everson Animation 32 / 43 Richard Everson Animation 33 / 43

Skeletal animation: rigging Matrix palette skinning

Animating complex polygonal meshes Bones of skeleton each has a transformation matrix Mi describing its animation from the 0 X Construct a skeleton of untransformed location in world v = wi Mi v bones capturing the coordinates i components and joints of Vertices are a linear combination the body v untransformed vertex (blend) of a palette of neighbouring location Rig the skeleton by bone locations: 0 attaching vertices to v transformed vertex skeleton location Animate skeleton Mi transformation matrix v describing motion of Each vertex location is a w1 bone i weighted combination of w2 wi weighting for ith bone. bone locations: P eg: 1 part shin and 2 parts i wi = 1 thigh for a vertex in the knee

Richard Everson Animation 35 / 43 Richard Everson Animation 36 / 43 Matrix palette skinning Matrix palette skinning

Untransformed bones and mesh Texture mapped mesh http://www.gup.uni-linz.ac.at/∼gk/Praktika/meshskin webdata/ Transformed bones and mesh Texture mapped mesh http://www.gup.uni-linz.ac.at/∼gk/Praktika/meshskin webdata/ Richard Everson Animation 37 / 43 Richard Everson Animation 38 / 43

Morph target animation

Vertices of key-frames are edited manually Intermediate frames interpolated

Artist has more fine control over location Libraries of facial expressions corresponding to emotions or speech to permit ‘procedural’ animation Expensive to define the vertex positions Non-realistic distortions as the vertices take different paths http://ivizlab.sfu.ca/research/iface

Richard Everson Animation 39 / 43 Richard Everson Animation 40 / 43 Motion capture Motion capture

Place markers on the human body Surround body with (at least 8) cameras Position of each marker inferred if visible to at least 2 cameras Rapid acquisition of motion

Active markers to avoid ‘marker swapping’

Richard Everson Animation 42 / 43 Richard Everson Animation 43 / 43