Animation Marco Gillies. Computer Animation Making things move A key aspect of computer graphics Non-realtime for films Realtime for virtual worlds and.

Slides:



Advertisements
Similar presentations
Department of nskinfo i-education
Advertisements

Computer Graphics Computer Animation& lighting Faculty of Physical and Basic Education Computer Science Dep Lecturer: 16 Azhee W. MD.
Animation. 12 Principles Of Animation (1)Squash and Stretch (2)Anticipation (3)Staging (4)Straight Ahead Action and Pose to Pose (5)Follow Through and.
Jinxiang Chai CSCE441: Computer Graphics Coordinate & Composite Transformations 0.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
1 7M836 Animation & Rendering Animation Jakob Beetz Joran Jessurun
UNC Chapel Hill M. C. Lin Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH.
1 1cs426-winter-2008 CS 426: Computer Animation. 2 2cs426-winter-2008 Contact  Robert Bridson,  Office hours: TBD.
Animation. Outline  Key frame animation  Hierarchical animation  Inverse kinematics.
Computer-Based Animation. ● To animate something – to bring it to life ● Animation covers all changes that have visual effects – Positon (motion dynamic)
Computer Animation CS 445/645 Fall Let’s talk about computer animation Must generate 30 frames per second of animation (24 fps for film) Issues.
Lecture Fall 2001 Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics.
Feature-length films: Games: Desktop Animations: Computer Animation.
1 7M836 Animation & Rendering Animation Jakob Beetz Joran Jessurun
Animation Vladimir Savchenko
Business and Computing Deanery Multimedia Week 6 Animation.
Digital Media Dr. Jim Rowan ITEC 2110 Animation. Two ways to create moving images Capture using a camera Create using animation techniques.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 8 This presentation © 2004, MacAvon Media Productions Animation.
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
Objective Understand concepts used to create digital animation. Course Weight : 5%
Digital Media Dr. Jim Rowan ITEC 2110 Animation. Two ways to create moving images Capture using a camera Create using animation techniques.
Dr. Jim Rowan ITEC 2110 Animation
2D ANIMATION. Project Requirements Creation of basic bouncing ball Creation of an individual animation –Storyboard –Drawings/Digital frames –Export.
Passage Three Multimedia Application. Training target: In this part , you should try your best to form good reading habits. In order to avoid your ill.
CS 445 / 645 Introduction to Computer Graphics Lecture 23 Bézier Curves Lecture 23 Bézier Curves.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Chapter 7 Animation. The Power of Animation Animation grabs attention Transitions are simple forms of animation  Wipe  Zoom  Dissolve.
Digital Media Dr. Jim Rowan ITEC 2110 Animation.
 The creation of moving pictures one frame at a time Literally 'to bring to life' e.g. make a sequence of drawings on paper, in which a character's position.
Animation. History Photography around since the 19th century Realistic animation began in 1872 when Eadweard Muybridge settled a bet about a flying horse.
Multimedia Animation. Animation Principles Persistence of vision object seen by human eye remains mapped on retina for a brief time after viewing display.
Animation Basics. A) Animation In animation we attempt to make things that aren’t really there appear as though they could actually exist and move in.
Chapter 7 Animation Prepared by: Ms. Ma. Anna Corina G. Kagaoan College of Arts and Sciences.
Computer Graphics Researched via: Student Name: James Wood Date: 4/29/10.
CLASS 10 SCENE GRAPHS BASIC ANIMATION CS770/870. A scene Graph A data structure to hold components of a scene Usually a Tree of a Directed Acyclic Graph.
12 Principles Of Animation (1)Squash and Stretch (2)Anticipation (3)Staging (4)Straight Ahead Action and Pose to Pose (5)Follow Through and Overlapping.
“ Animation Through the Ages” Camelia McCallion. Main tasks What is computer animation? Hand drawn (cel) Flick books Animated cartoon Animation process.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Digital Media Dr. Jim Rowan ITEC 2110 Animation.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
Animation is a group of moving pictures to make an object or a character to look like it is moving for example a stickman walking along a road. Animation.
UNC Chapel Hill M. C. Lin Basics of Motion Generation let X i = position,orient. of O i at t k = t 0,  i END = false while (not END) do display O i, 
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
Syed ardi syed yahya kamal 2011 chapter five.  Creating in-between positions is still a hallmark of animation.  Using techniques called interpolation.
Animation.
CISC 110 Day 3 Introduction to Computer Graphics.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
Digital Media Dr. Jim Rowan ITEC 2110 Animation.
Lecture 5: 11/5/1435 Computer Animation Lecturer/ Kawther Abas CS- 375 Graphics and Human Computer Interaction.
Digital Media Dr. Jim Rowan ITEC 2110 Animation. Two ways to create moving images Capture using a camera –edit in a video editor like iMovie Create using.
Introduction to Animation In animation, a series of images are rapidly changed to create an illusion of movement.
Maya 8 at a Glance Chapter 9: Animation. Ways to Animate 2 Creating Keyframes Path Animation Set Driven Keys Nonlinear Animation Expressions Simulations.
Jinxiang Chai CSCE441: Computer Graphics Coordinate & Composite Transformations 0.
Computer Engineering and Networks, College of Engineering, Majmaah University ANIMATION Mohammed Saleem Bhat CEN-318 Multimedia.
Feature-length films: Games: Desktop Animations:.
Presented By: V. Jagadeesh (59) Animation The word “animation” is a form of “animate,” which means to bring to life to object. Thus when a multimedia.
Computer Animation CS 446 September 5, 2001.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves
CS 445 / 645 Introduction to Computer Graphics
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves
Dr. Jim Rowan ITEC 2110 Animation
Basics of Motion Generation
Game Development Animation
Prepared by: Engr . Syed Atir Iftikhar
Interpolation and Basic Techniques
UMBC Graphics for Games
CSCE441: Computer Graphics Coordinate & Composite Transformations
Computer Animation Displaying animation sequences raster animation
What is Animation? 'To animate' literally means to give life to. Animating is moving something that cannot move on it's own. Animation adds to graphics.
Computer Graphics Lecture 15.
Presentation transcript:

Animation Marco Gillies

Computer Animation Making things move A key aspect of computer graphics Non-realtime for films Realtime for virtual worlds and games

Computer Animation 2 basic classes of computer animation: Keyframe animation –Data driven –Hand animation or performance driven Simulation –Procedural/algorithm driven –Particle systems, physics, artificial life

Computer animation Keyframe animation relies on data –from animators or actors Simulation or procedural animation takes a more algorithmic approach –Animation is directly generated by an algorithm or calculation

Course Outline Traditional animation –Cell animation –Stop Motion Computer animation –Trad vs Computer animation –Keyframe –Interpolation

Traditional Animation

Flip Books The most basic form of animation is the flip book Presents a sequence of images in quick succession In film this becomes a sequence of frames

The Time Line Lasseter 87 Time Animation is a sequence of frames (images) arranged along a time-line

Cell Animation Cell animation works on the same principle Display a sequence of images at 25 frames per second

Frames Each frame is an image Traditionally each image had to be hand drawn individually This potentially requires vast amounts of work from a highly skilled animator

Layers Have a background images that dont move Put foreground images on a transparent slide in front of it Only have to animate bits that move Next time you watch an animation notice that the background is always more detailed than the characters Asian animation often uses camera pans across static images

Keyframing The head animator draws the most important frames (Keyframes) An assistant draws the in-between frames (inbetweening) Lasseter 87

Other Techniques Squash and stretch Slow in slow out Lasseter 87

Other Techniques Squash and stretch –Change the shape of an object to emphasise its motion –In particular stretch then squash when changing direction Lasseter 87

Other Techniques Slow in slow out –Control the speed of an animation to make it seem smoother –Start slow, speed up in the middle and slow to a stop Lasseter 87

Stop Motion Animation Create models of all your characters Pose them Take a photo Move them slightly Take another photo

Stop Motion Animation More effort on Creating Characters A lot of detail Each individual movement is less work –(though still a lot)

Exercise (in Processing) Load the set of images doc.gold.ac.uk/~mas02mg/CC2_Animation/animation_frames.zip Display one image after the other

Computer animation

Computer Animation Computer animation (both 2D and 3D) is quite a lot like Stop Motion Animation You put a lot of effort into creating a (Virtual) model of a character Then when animating it you move it frame by frame

Computer animation You give the character a number of controls by which you move it –Translate, rotate etc. –E.g. skeleton This is called rigging You put a lot of work on set up Animation is simple

Keyframing Keyframing can reduce this effort even more The animator only needs to define the key frames of a movement The computer does the in betweening

Keyframing Keyframes arent images They are poses of a character Keyframes are now settings for value at a given time (a tuple) (For now Ill just talk about animating position)

Keyframing

Linear Interpolation

The position is interpolated linearly between keyframes

Linear Interpolation The position is interpolated linearly between keyframes

Linear Interpolation The position is interpolated linearly between keyframes The animation can be jerky Need some equivalent of slow-in slow-out

Linear Interpolation

Spline Interpolation Use smooth curves to interpolate positions Use curves similar to Bezier

Spline Interpolation

Bezier Curves Smooth but dont go through all the control points, we need to go through all the keyframes

Hermite Curves Rather than specifying 4 control points specify 2 end points and tangents at these end points In the case of interpolating positions the tangents are velocities

Hermite Curves The maths is pretty much the same as Bezier Curves Bezier: Hermite:

Hermite Curves Transforming between the two Bezier to Hermite: Hermite to Bezier:

Tangents Thats fine, but where do we get the tangents (velocities) from? We could directly set them, they act as an extra control on the behaviour However often we want to generate them automatically

Tangents Base the tangent at a keyframe on the previous and next keyframe

Tangents Average the distance from the pervious keyframe and to the next one

Tangents Average the distance from the previous keyframe and to the next one Catmull-Rom Splines If you set the tangents at the first and last frame to zero you get slow in slow out

Spline interpolation

Exercise (in Processing) Write a program: –Click on points on a screen –The time and position are stored as an array of keyframes –When you hit return the stored movements are replayed with a dot moving smoothly between the points

float [] time = new float[20]; int [] xs = new int[20]; int [] ys = new int[20]; int currentFrame = 0; float starttTime; void draw() { if (clock() - startTime > time[currentFrame+1] ){ currentFrame ++; } translate(xs[currentFrame], ys[currentFrame]); rect( 0, 0, 10,10); }