animation animation shape specification as a function of time



Similar documents
animation shape specification as a function of time

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

Kinematics & Dynamics

Interactive Computer Graphics

CS 4204 Computer Graphics

The 3D rendering pipeline (our version for this class)

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

Today. Keyframing. Procedural Animation. Physically-Based Animation. Articulated Models. Computer Animation & Particle Systems

Fundamentals of Computer Animation

Graphics. Computer Animation 고려대학교 컴퓨터 그래픽스 연구실. kucg.korea.ac.kr 1

C O M P U C O M P T U T E R G R A E R G R P A H I C P S Computer Animation Guoying Zhao 1 / 66 /

Computer Animation. Lecture 2. Basics of Character Animation

Metrics on SO(3) and Inverse Kinematics

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

Animation (-4, -2, 0 ) + (( 2, 6, -4 ) - (-4, -2, 0 ))*.75 = (-4, -2, 0 ) + ( 6, 8, -4)*.75 = (.5, 4, -3 ).

Kinematical Animation

CG T17 Animation L:CC, MI:ERSI. Miguel Tavares Coimbra (course designed by Verónica Orvalho, slides adapted from Steve Marschner)

Computer Animation. Computer Animation. Principles of Traditional Animation. Outline. Principles of Traditional Animation

Computer Animation. CS 445/645 Fall 2001

3D Tranformations. CS 4620 Lecture 6. Cornell CS4620 Fall 2013 Lecture Steve Marschner (with previous instructors James/Bala)

Animation. Persistence of vision: Visual closure:

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

Goldsmiths, University of London. Computer Animation. Goldsmiths, University of London

Mocap in a 3D Pipeline

INTRODUCTION TO RENDERING TECHNIQUES

Fundamentals of Computer Animation

CATIA V5 Tutorials. Mechanism Design & Animation. Release 18. Nader G. Zamani. University of Windsor. Jonathan M. Weaver. University of Detroit Mercy

This week. CENG 732 Computer Animation. Challenges in Human Modeling. Basic Arm Model

Blender 3D Animation

Chapter 1. Animation. 1.1 Computer animation

COMP Visualization. Lecture 15 Animation

Chapter 1. Introduction. 1.1 The Challenge of Computer Generated Postures

IMD4003 3D Computer Animation

2.5 Physically-based Animation

Motion Capture Technologies. Jessica Hodgins

Procedural Animation. An introduction

A Short Introduction to Computer Graphics

Computing Euler angles from a rotation matrix

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

CMSC 425: Lecture 13 Animation for Games: Basics Tuesday, Mar 26, 2013

Character Animation Tutorial

Introduction to Computer Graphics

Computer Animation and Visualisation. Lecture 1. Introduction

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

Project 2: Character Animation Due Date: Friday, March 10th, 11:59 PM

Motion Retargetting and Transition in Different Articulated Figures

Our One-Year 3D Animation Program is a comprehensive training in 3D using Alias

Tutorial 9: Skeletal Animation

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

Digital 3D Animation

Animations in Creo 3.0

Mechanics lecture 7 Moment of a force, torque, equilibrium of a body

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

Anime Studio Debut vs. Pro

CS 4620 Practicum Programming Assignment 6 Animation

Mathematical Modeling and Engineering Problem Solving

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Modelling 3D Avatar for Virtual Try on

Lecture 7. Matthew T. Mason. Mechanics of Manipulation. Lecture 7. Representing Rotation. Kinematic representation: goals, overview

CARTOON BUILDER. Character animation the art of. Creating animated characters with Blender KNOW-HOW. Pulling Strings

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

Essential Mathematics for Computer Graphics fast

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

Time Domain and Frequency Domain Techniques For Multi Shaker Time Waveform Replication

FACIAL RIGGING FOR 3D CHARACTER

Mechanics 1: Conservation of Energy and Momentum

Kyu-Jung Kim Mechanical Engineering Department, California State Polytechnic University, Pomona, U.S.A.

Chapter 6 Circular Motion

Geometric Constraints

Math for Game Programmers: Dual Numbers. Gino van den Bergen

The Fundamental Principles of Animation

Lecture L3 - Vectors, Matrices and Coordinate Transformations

ART 269 3D Animation Fundamental Animation Principles and Procedures in Cinema 4D

CHAPTER 6 TEXTURE ANIMATION

MovieClip, Button, Graphic, Motion Tween, Classic Motion Tween, Shape Tween, Motion Guide, Masking, Bone Tool, 3D Tool

Dynamics of Multibody Systems: Conventional and Graph-Theoretic Approaches

Chapter 10 Rotational Motion. Copyright 2009 Pearson Education, Inc.

Computers in Film Making

Maya 2014 Basic Animation & The Graph Editor

DESIGN, IMPLEMENTATION, AND COOPERATIVE COEVOLUTION OF AN AUTONOMOUS/TELEOPERATED CONTROL SYSTEM FOR A SERPENTINE ROBOTIC MANIPULATOR

Chapter. 4 Mechanism Design and Analysis

An Interactive method to control Computer Animation in an intuitive way.

Video Game Programming ITP 380 (4 Units)

Working With Animation: Introduction to Flash

3D Computer Animation (Msc CAGTA) Report

Physics 1A Lecture 10C

Introduction to. With Slides from Dongho Kim and Karen Liu. School of Computer Soongsil University Animation. Computer Animation

Character Creation You can customize a character s look using Mixamo Fuse:

3D Modeling, Animation, Compositing, and Special Effects ITP 215x (2 Units)

SOFA an Open Source Framework for Medical Simulation

Rotation Matrices and Homogeneous Transformations

Gas Dynamics Prof. T. M. Muruganandam Department of Aerospace Engineering Indian Institute of Technology, Madras. Module No - 12 Lecture No - 25

Given a point cloud, polygon, or sampled parametric curve, we can use transformations for several purposes:

Tutorial for Assignment #2 Gantry Crane Analysis By ANSYS (Mechanical APDL) V.13.0

Transcription:

animation animation shape specification as a function of time

animation representation many ways to represent changes with time intent artistic motion physically-plausible motion efficiency control typically not a major problem most algorithms deals with this 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

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 principles of animation describe artistic choices in hand-drawn anim. now used to describe computer animation non-technical description can t build algorithms on but useful to think about what the goals are

principles of animation squash-and-stretch [Lassiter, 1987] principles of animation squash-and-stretch slow motion [Lassiter, 1987] fast motion fast motion w s.s.

principles of animation anticipation [Lassiter, 1987] movie time luxo jr.

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 motion blur avoid aliasing over time equiv. to color averages to remove jaggies [Cook et al., 1984]

representing changes one frame-at-a-time inefficient and cumbersome key-pose animation define key poses interpolate in the middle 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

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

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 deformation examples rigid body transformation translation/rotation shape is unchanged P ' = M P modeling representation move all the control points: n x 3 DOFs deformation/animation transformation translation + rotation vector: 6 DOFs

deformation examples deformations change shape introduce different functions P ' = limits on the type of deformation f ( P,{ α }) i deformation examples bend

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

complex deformations complex deformations by function composition no unified description so apply one after the other P ' = 2 f1( f ( P)) complex deformations bend + twist

deformation 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 transform are well-behaved deformations for characters often combination of lots of deformations specialized deformations mesh skinning: body deformation blend shapes: face deformation

mesh skinning deform surface around a skeleton [Domine /NVIDIA] mesh skinning concepts based on skin/bone interactions [Fedkiw et al.]

mesh skinning every bone has a transform 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 p ' i = j w ij M j p i M j w ij mesh skinning solution for body deformation efficient to compute hardware acceleration available good control but hard to set up proper weights often used in games as-is used in movies as part of more complex setups

mesh skinning issues surface collapse around joints or for strong twists hard to fix cannot be fixed by tweaking weights [Lewis et al., 2000] mesh skinning - defining weights often very time consuming: active research [James and Twigg, 2005]

mesh skinning efficiency hard to use, but really fast implementations [James and Twigg, 2005] blend shapes interpolate set of meshes [3DMax docs/discreet]

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 pi ' = w =1 j jp ji w j j 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 often used in games

interpolating deformations just interpolate deformation parameters translation: position rotation: quaternions bending/twisting: angle skinning: skeleton translation/rotation blending: blend weights interpolating translations linearly blend the translation keys v( t ) = (1 f ( t)) v + v 0 f ( t) for linear f, v(0.5) is the midpoint between the keys 1

interpolating rotations how many degrees of freedom do rotations have? 3 what is a good representation for rotation? matrices euler angles quaternions interpolating rotations using matrices is problematic M ( t) = (1 f ( t)) M + M 0 f ( t) for linear f, M(0.5) may not be a rotation e.g. M 0 is identity, M 1 is 90 rotation around x M(t) is not a rotation, since MM T is not I 1 M (0.5) = 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1 1 = 0 0 0 1 0 0.5 0.5 0 0.5 0.5 [adapted from MIT course]

interpolating rotations Euler angles rotation around 3 different axis can represent any rotation interpolation is unnatural 90 around Z then Y = 120 around (1,1,1) 30 around Z then Y = 40 around (1,1,1) [Hoffman, http://www.fho-emden.de~ehoffmann/] [adapted from MIT course] interpolating rotations gimbal lock may lose degrees of freedom when interpolating [Hoffman, http://www.fho-emden.de~ehoffmann/]

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 providing deformation parameters kinematics provide transformation parameters directly hand-editing forward kinematics inverse kinematics motion capture dynamics solve physics equations of motion

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 forward kinematics position at end of the chain p x = l1 cosθ 1 + l2 cos( θ1 + θ2) p y = l1 sinθ 1 + l2 sin( θ1 + θ2)

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. 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

inverse kinematics or try to capture styles by learning from data sets [Grochow et al., 2004] 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

motion capture usage heavily in games, a bit in movies not very expressive, but more high expectation [ Sony] motion capture systems mechanical optical [ Animazoo] [Popovic]

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 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

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 dynamics simulating simple objects [Fedkiw et al.]

dynamics simulating complex situations [Fedkiw et al.] dynamics simulating complex objects [Fedkiw et al.]

controlling dynamics basic principle: cheat where you can [Popovic et al., 2003] movie time

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 natural phenomena [Fedkiw et al.]

natural phenomena [Fedkiw et al.] natural phenomena [Fedkiw et al.]

natural phenomena [Fedkiw et al.] 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

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 Newton equation particle dynamics 2 dp d p v = a = 2 dt dt find position at time t ( p, v,t ) = ma given position, velocity and acceleration at time 0 initial value problem: use Euler method more efficient methods exist p(0) = p0 v( t + t) = v( t) + a( t) t v(0) = v a(0) = a 0 0 F p( t + t) = p( t) + v( t) t + a( t) t 2 / 2