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



Similar documents
Kinematics & Dynamics

2.5 Physically-based Animation

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

animation animation shape specification as a function of time

animation shape specification as a function of time

Interactive Computer Graphics

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 /

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

Fundamentals of Computer Animation

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

Computer Animation. Lecture 2. Basics of Character Animation

Animation. Persistence of vision: Visual closure:

Behavioral Animation Simulation of Flocking Birds

CS 4204 Computer Graphics

Computers in Film Making

Computer Animation and Visualisation. Lecture 1. Introduction

Particles, Flocks, Herds, Schools

Geometric Constraints

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

Motion Capture Technologies. Jessica Hodgins

Republic Polytechnic School of Information and Communications Technology C391 Animation and Visual Effect Automation.

Chapter 1. Animation. 1.1 Computer animation

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

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

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

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

Interactive simulation of an ash cloud of the volcano Grímsvötn

Flocking and Steering Behaviors : Computer Graphics April 08, 2010

Module 3 Crowd Animation Using Points, Particles and PFX Linker for creating crowd simulations in LightWave 8.3

Kinematical Animation

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

Computer Games. CSCI-GA Spring Hubertus Franke. ( frankeh@cims.nyu.edu )

Modelling 3D Avatar for Virtual Try on

DIGITAL MEDIA ARTS. DMA 225 Computer Animation lecture/4 studio hours Hours: lecture/laboratory/other (specify)

SOFA an Open Source Framework for Medical Simulation

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

The Fundamental Principles of Animation

CS130 - Intro to computer graphics. Dr. Victor B. Zordan vbz@cs.ucr.edu Objectives

An Introduction to Applied Mathematics: An Iterative Process

Computer Animation in Future Technologies

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

Metrics on SO(3) and Inverse Kinematics

Physics Notes Class 11 CHAPTER 3 MOTION IN A STRAIGHT LINE

XI / PHYSICS FLUIDS IN MOTION 11/PA

Fundamentals of Computer Animation

College of Computing and Graphics, Visualization, and Usability Center. Georgia Institute of Technology. Atlanta, GA

Discrete mechanics, optimal control and formation flying spacecraft

SimFonIA Animation Tools V1.0. SCA Extension SimFonIA Character Animator

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

INTRODUCTION TO RENDERING TECHNIQUES

Procedural Animation. An introduction

Orbits. Chapter 17. Dynamics of many-body systems.

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

Computer Animation. CS 445/645 Fall 2001

COMP Visualization. Lecture 15 Animation

EMOT Evolutionary Approach to 3D Computer Animation

Motion Retargetting and Transition in Different Articulated Figures

Introduction to Flow Visualization

Lecture L2 - Degrees of Freedom and Constraints, Rectilinear Motion

Program of Study. Animation (1288X) Level 1 (390 hrs)

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

Computer Animation. Jason Lawrence CS 4810: Graphics

Blender 3D Animation

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

Design-Simulation-Optimization Package for a Generic 6-DOF Manipulator with a Spherical Wrist

STATICS. Introduction VECTOR MECHANICS FOR ENGINEERS: Eighth Edition CHAPTER. Ferdinand P. Beer E. Russell Johnston, Jr.

Chapter. 4 Mechanism Design and Analysis

Mechanics 1: Conservation of Energy and Momentum

Adding Animation With Cinema 4D XL

VIRYA - A MOTION CONTROL EDITOR FOR KINEMATIC AND DYNAMIC ANIMATION

3D Computer Animation (Msc CAGTA) Report

Character Animation Tutorial

AP Physics 1 and 2 Lab Investigations

Ground Rules. PC1221 Fundamentals of Physics I. Kinematics. Position. Lectures 3 and 4 Motion in One Dimension. Dr Tay Seng Chuan

CS408 Animation Software Design Sample Exam Questions (Second Half)

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

Differential Relations for Fluid Flow. Acceleration field of a fluid. The differential equation of mass conservation

Maya 2014 Basic Animation & The Graph Editor

Course Syllabus. Tuesday 4 pm to 5 pm & Thursday 4 to 5 pm

Introduction to Engineering System Dynamics

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

Path Tracking for a Miniature Robot

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

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

Lecture 07: Work and Kinetic Energy. Physics 2210 Fall Semester 2014

A Nate on Dynamics and Kinematics*

Dynamics. Basilio Bona. DAUIN-Politecnico di Torino. Basilio Bona (DAUIN-Politecnico di Torino) Dynamics / 30

Numerical Analysis An Introduction

Numerical Solution of Differential Equations

Behavioral Animation Modeling in the Windows Environment

Outline. srgb DX9, DX10, XBox 360. Tone Mapping. Motion Blur

Educational Innovations

Fluid Dynamics and the Navier-Stokes Equation

In order to describe motion you need to describe the following properties.

Character Animation from 2D Pictures and 3D Motion Data ALEXANDER HORNUNG, ELLEN DEKKERS, and LEIF KOBBELT RWTH-Aachen University

Physics 211 Lecture 4

Transcription:

Today Computer Animation & Particle Systems Some slides courtesy of Jovan Popovic & Ronen Barzel How do we specify or generate motion? Keyframing Procedural Animation Physically-Based Animation Forward and Inverse Kinematics Motion Capture What is a Particle System? Particle System Examples Advanced Particle Systems Keyframing Use spline curves to automate the inbetweening Good control Less tedious than drawing every frame Creating a good animation still requires considerable skill and talent Procedural Animation Describes the motion algorithmically, as a function of small number of parameters Example: a clock with second, minute and hour hands express the clock motions in terms of a seconds variable the clock is animated by varying the seconds parameter Example: A bouncing ball Abs(sin(ωt+θ 0 ))*e -kt ACM 1987 Principles of traditional animation applied to 3D computer animation Physically-Based Animation Articulated Models Assign physical properties to objects (masses, forces, inertial properties) Simulate physics by solving equations Realistic but difficult to control m v 0 g Articulated models: rigid parts connected by joints They can be animated by specifying the joint angles as functions of time. q i q () i t t 1 t 2 t 1 t 2 1

Skeleton Hierarchy Each bone transformation described relative to the parent in the hierarchy: xh, yh, zh, qh, f h, s h q, f, s 1 DOF: knee 2 DOF: wrist 3 DOF: arm t t t q c qf, f f z y v s hips left-leg... r-thigh x r-calf r-foot Forward Kinematics Given skeleton parameters p, and the position of the effecter in local coordinates V s, what is the position of the effector in the world coordinates V w? xh, yh, zh, qh, f h, s h q, f, s t t t q, f V w = T(x h,y h,z h )R(q h,f h,s h )T h R(q t,f t,s t )T t R(Q c )T c R(q f,f f )V s V w = S(p)V s f q c f v s z y v s x Inverse Kinematics (IK) IK Challenge Given the position of the effecter in local coordinates V s xh, yh, zh, qh, f h, s h and the desired position V w qt, f t, s t in world coordinates, what are the skeleton parameters p? q c Much harder requires solving the inverse of the non-linear qf, f V f s function: find p s.t. S(p)V s = V w Underdetermined problem with many solutions V w Find a natural skeleton configuration for a given collection of pose constraints A scalar objective function g(p) measures the quality of a pose, g(p) is minimum for most natural poses Example g(p): deviation from natural pose, joint stiffness, power consumption, etc A vector constraint function C(p) = 0 collects all pose constraints: Motion Capture Optical markers, high-speed cameras, triangulation 3D position Captures style, subtle nuances and realism You must observe someone do something How Do They Animate Movies? Keyframing mostly Articulated figures, inverse kinematics Skinning Complex deformable skin, muscle, skin motion Hierarchical controls Smile control, eye blinking, etc. Keyframes for these higher-level controls A huge time is spent building the 3D models, its skeleton and its controls Physical simulation for secondary motion Hair, cloths, water Particle systems for fuzzy objects Images from the Maya tutorial 2

Questions? Today How do we specify or generate motion? What is a Particle System? Each particle maintains its state (position, velocity, color, etc.) Describe the external forces with a force field Integrate the laws of mechanics (ODE Solvers) Collisions (later ) Particle System Examples Advanced Particle Systems Types of Dynamics Point Rigid body Deformable body (include clothes, fluids, smoke, etc.) ACM 1988 Spacetime Constraints What is a Particle System? Collection of many small simple particles Particle motion influenced by force fields Particles created by generators Particles often have lifetimes Used for, e.g: sand, dust, smoke, sparks, flame, water, CSCI-6962 Advanced Carlson, Computer Mucha, Graphics Van Horn, & Turk 2002 Particle Motion mass m, position x, velocity v equations of motion: Ordinary Differential Equation: Demos by Mark B. Allan http://users.rcn.com/mba.dnai/software/flow/ 3

Numerical solutions to ODEs Analytic solutions can be found for some classes of differential equations, but most can t be solved analytically (e.g., 3-body problem) Solving ODEs for animation For animation, want a series of values: Given a function f(x,t) compute X(t) Typically, initial value problems: Given values X(t 0 )=X 0 Find values X(t) for t > t 0 Also, boundary value problems, constrained problems, etc samples of the continuous function X(t) i.e., frames of an animation Questions? Path through a field f(x,t) is a vector field defined everywhere E.g. a velocity field which may change over time X(t) is a path through the field Higher order ODEs E.g., for a 3D particle E.g., Mechanics has 2nd order ODE: We have a 6 dimension ODE problem: Express as 1 st order ODE by defining v(t): 4

and for a collection of 3D particles Intuitive solution: take steps Current state X Examine f(x,t) at (or near) current state Take a step to new value of X Most solvers do some form of this Euler s method Effect of step size Simplest and most intuitive. Define step size h Given X 0 =X(t 0 ), take step: Step size controls accuracy Smaller steps more closely follow curve For animation, may need to take many small steps per frame Piecewise-linear approximation to the curve Euler s method: inaccurate Moves along tangent; can leave curve, e.g.: Exact solution is circle: Euler s method: unstable Exact solution is decaying exponential: Limited step size: Euler s spirals outward no matter how small h is If k is big, h must be small 5

Analysis: Taylor series Expand exact solution X(t) Euler s method approximates: Can we do better than Euler s method? Problem: f has varied along the step Idea: look at f at the arrival of the step and compensate for variation First-order method: Accuracy varies with h To get 100x better accuracy need 100x more steps 2nd-order methods Comparison: Euler, Midpoint, Runge-Kutta Midpoint: ½Euler step evaluate f m full step using f m Trapezoid: a f m b f 1 Euler step (a) evaluate f 1 full step using f 1 (b) average (a) and (b) Not exactly same result Same order of accuracy Questions? What is a force? Forces can depend on location, time, velocity There can be multiple force sources 6

Forces: Gravity on Earth depends only on particle mass: f(x,t) = constant for smoke, flame: make gravity point up! m i v 0 G Forces: Gravity for N-body problem Depends on all other particles Opposite for pairs of particles Force in the direction of p i p j with magnitude inversely proportional to square distance F ij = G m i m j / r 2 P i P j Forces: Damping force on particle i depends only on velocity of i force opposes motion removes energy, so system can settle small amount of damping can stabilize solver too much damping makes motion too glue-like Forces: Spatial fields force on particle i depends only on position of i wind attractors repulsers vortices can depend on time note: these add energy, may need damping too Forces: Spatial interaction Questions? e.g., approximate fluid: Lennard-Jones force: O(N 2 ) to test all pairs In practice, only local 7

Today How do we specify or generate motion? What is a Particle System? Particle System Examples Advanced Particle Systems Particle Animation [Reeves et al. 1983] Start Trek, The Wrath of Kahn How they did it? One big particle system at impact Secondary systems for rings of fire. Where do Particles come from? Often created by generators (or emitters ) can be attached to objects in the model Given rate of creation: particles/second record t last of last particle created create n particles. update t last if n > 0 Create with (random) distribution of initial x and v if creating n > 1 particles at once, spread out on path Particle Lifetimes Record time of birth for each particle Specify lifetime Use particle age to: remove particles from system when too old often, change color often, change transparency (old particles fade) Sometimes also remove particles that are offscreen 8

Rendering and Motion Blur Particles are usually not shaded (just emission) Often, rendered last with z-buffer disabled Draw a line for motion blur (x, x + vdt) Sometimes use texture maps (fire, clouds) Particle Dreams by Karl Sims 1988 A Connection Machine CM-2 computer was used to perform physical simulations on thousands of particles simultaneously, one processor for each particle. Karl Sims, "Particle Animation and Rendering Using Data Parallel Computation", SIGGRAPH 1990 http://www.genarts.com/karl/ Particle Modeling Questions? grass made from particles [Reeves et al. 1983] Today How do we specify or generate motion? What is a Particle System? Particle System Examples Advanced Particle Systems Advanced Particle Systems Each bird modeled as a complex particle ( boid ) A set of forces control its behavior based on location of other birds and control forces Craig Reynolds http://www.red3d.com/cwr/boids 9

Advanced Particle Systems Boid" is an abbreviation of "birdoid", as the rules apply equally to simulated flocking birds, and schooling fish. Fish School, Crowds Craig Reynolds Finding Nemo Pixar Questions? 10