Animation Outline 1 Animation 2 Key-Framing 3 Skeletal Animation 4 Motion Capture Animation Victorian Animation
Total Page:16
File Type:pdf, Size:1020Kb
Outline Animation 1 Animation COM3404 2 Key-framing 3 Skeletal animation Richard Everson 4 Motion Capture School of Engineering, Computer Science and Mathematics University of Exeter References [email protected] http://www.secamlocal.ex.ac.uk/studyres/COM304 Fundamentals of 3D Computer Graphics. Watt. Computer Graphics: Principles and Practice. Foley et al (1995). Principles of Three-Dimensional Computer Animation. M. O’Rourke. Richard Everson Animation 1 / 43 Richard Everson Animation 2 / 43 Animation Victorian animation Animation Bring to life Phenakistoscope Zoetrope 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 Films: 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 inverse kinematics 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: Blender 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 Simulation ’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 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.