Lecture 36: Animation Li Zhang Spring 2008

Slides:



Advertisements
Similar presentations
Principles of Animation Computer Animation SS2008.
Advertisements

Dr. Midori Kitagawa University of Texas at Dallas Arts and Technology Program.
Lecture 14 Illumination II – Global Models
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
12 Principle of Animation. Series of pictures of objects/characters in motion Displayed at some rate –film 24 fps –video 30 fps What is animation?
Animation May Computer animation Animation: make objects move or change over time according to scripted actions and/or (physical) laws.
12 Concepts to Animation Frank Thomas and Ollie Johnston in their book “The Illusion of Life” Principles in action - link
Graphics Sound Video created by:gaurav shrivastava
Character Setup Character Setup is the process of creating handles and controls for anything that a character animator will need to adjust in order to.
Graphics Korea University Computer Animation Computer Graphics.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation Many slides courtesy Adam Finkelstein,
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 15: Ray Tracing/Global Illumination Ravi Ramamoorthi Slides.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 14: Ray Tracing
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
The Fundamental Principles
Nine Old Men Disney’s Nine Old Men were the main animators that created Disney’s most famous animated films from Snow White to The Rescuers. They were.
The 12 Principles of Animation Digital Media 1 Mr. Nicholas Goble.
History, Principles & More. History: Pioneers of Animation J. Stuart Blackton ( ) Winsor McCay ( ) John Bray ( ) Max Fleischer.
05/09/02(c) 2002 University of Wisconsin Last Time Global illumination algorithms Grades so far.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
Animation Vladimir Savchenko
John Lasseter 1987 PRINCIPLES OF TRADITIONAL ANIMATION APPLIED TO 3D COMPUTER ANIMATION.
Computing & Information Sciences Kansas State University CIS 536/636 Introduction to Computer Graphics Lecture 17 of 41 William H. Hsu Department of Computing.
Reflections Specular reflection is the perfect reflection of light from a surface. The law a reflection states that the direction of the incoming ray and.
CS559: Computer Graphics Lecture 38: Animation Li Zhang Spring 2008 Slides from Brian Curless at U of Washington.
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
Jehee Lee Seoul National University
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
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.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Particle Systems.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Physics for Games Spring 2012.
Animation & 3D Animation
CS559: Computer Graphics Lecture 36: Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class at CMU.
CS559: Computer Graphics Lecture 36: Animation Li Zhang Spring 2008 Slides from Brian Curless at U of Washington.
04/30/02(c) 2002 University of Wisconsin Last Time Subdivision techniques for modeling We are now all done with modeling, the standard hardware pipeline.
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.
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, 
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
RENDERING : Global Illumination
Animation Animation is about bringing things to life Technically: –Generate a sequence of images that, when played one after the other, make things move.
CS559: Computer Graphics Lecture 27: Animation, Depth & Motion Blur, Ray Tracing Li Zhang Spring 2010 Slides from Brian Curless at U of Washington.
CS559: Computer Graphics Lecture 27: Animation, Depth & Motion Blur, Ray Tracing Li Zhang Spring 2010 Slides from Brian Curless at U of Washington.
CS552: Computer Graphics Lecture 36: Ray Tracing.
CS559: Computer Graphics Lecture 26: Animation Li Zhang Spring 2010 Slides from Brian Curless at U of Washington.
Basic Ray Tracing CMSC 435/634.
Advanced Computer Graphics
Computer Graphics.

CSE 167 [Win 17], Lecture 15: Ray Tracing Ravi Ramamoorthi
Computer Animation cgvr.korea.ac.kr.
Photorealistic Rendering vs. Interactive 3D Graphics
Shading Revisited Some applications are intended to produce pictures that look photorealistic, or close to it The image should look like a photograph A.
CD202 Interface, Representation & Sequence Analysing visual sequence
The Graphics Rendering Pipeline
© University of Wisconsin, CS559 Fall 2004
Basics of Motion Generation
Lecture 36: Animation Li Zhang Spring 2008
(c) 2002 University of Wisconsin
Lighting.
(c) 2002 University of Wisconsin
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.
Particle Systems - A Technique for Modeling a Class of Fuzzy Objects
12 Principles of Animation
Illumination Model 고려대학교 컴퓨터 그래픽스 연구실.
CSC418 Computer Graphics Raytracing Shadows Global Illumination.
Presentation transcript:

Lecture 36: Animation Li Zhang Spring 2008 CS559: Computer Graphics Lecture 36: Animation Li Zhang Spring 2008 Slides from Brian Curless at U of Washington

Today Particle Systems, Cartoon animation, ray tracing Reading (Optional) John Lasseter. Principles of traditional animation applied to 3D computer animation. Proceedings of SIGGRAPH (Computer Graphics) 21(4): 35-44, July 1987. http://portal.acm.org/citation.cfm?id=37407 (Optional) WILLIAM T. REEVES, ACM Transactions on Graphics, Vol. 2, No. 2, April 1983 http://portal.acm.org/citation.cfm?id=357320

Particle system diff. eq. solver We can solve the evolution of a particle system again using the Euler method: void EulerStep(ParticleSystem p, float DeltaT){ ParticleDeriv(p,temp1); /* get deriv */ ScaleVector(temp1,DeltaT) /* scale it */ ParticleGetState(p,temp2); /* get state */ AddVectors(temp1,temp2,temp2); /* add -> temp2 */ ParticleSetState(p,temp2); /* update state */ p->t += DeltaT; /* update time */ }

Bouncing off the walls Handling collisions is a useful add-on for a particle simulator. For now, we’ll just consider simple point-plane collisions. N P v x A plane is fully specified by any point P on the plane and its normal N.

Collision Detection How do you decide when you’ve made exact contact with the plane? N P v x

Normal and tangential velocity To compute the collision response, we need to consider the normal and tangential components of a particle’s velocity. N v x P What is v_n and v_t v

Collision Response after before v’ v before after The response to collision is then to immediately replace the current velocity with a new velocity: The particle will then move according to this velocity in the next timestep.

Collision without contact In general, we don’t sample moments in time when particles are in exact contact with the surface. There are a variety of ways to deal with this problem. A simple alternative is to determine if a collision must have occurred in the past, and then pretend that you’re currently in exact contact.

Very simple collision response How do you decide when you’ve had a collision? N x3 v3 x1 v1 P x2 v2 A problem with this approach is that particles will disappear under the surface. Also, the response may not be enough to bring a particle to the other side of a wall.

More complicated collision response Another solution is to modify the update scheme to: detect the future time and point of collision reflect the particle within the time-step N x X_new = contact_point + v_new * 0.3 *dt v P

Generate Particles Particle Attributes initial position, initial velocity (both speed and direction), initial size, initial color, initial transparency, shape, lifetime. WILLIAM T. REEVES, ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

Generate Particles Particle Attributes initial position, initial velocity (both speed and direction), initial size, initial color, initial transparency, shape, lifetime. WILLIAM T. REEVES, ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

Generate Particles Particle Attributes initial position, initial velocity (both speed and direction), initial size, initial color, initial transparency, shape, lifetime. WILLIAM T. REEVES, ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

Generate Particles Initial Particle Distribution Particle hierarchy, for example Skyrocket : firework Clouds : water drops

Throwing a ball from a robot arm Let’s say we had our robot arm example and we wanted to launch particles from its tip. How would we calculate initial speed? Q=R(theta)*T1*R(phi)*T2*R(psi)*P We want dQ/dt

Principles of Animation Goal: make characters that move in a convincing way to communicate personality and mood. Walt Disney developed a number of principles. ~1930 Computer graphics animators have adapted them to 3D animation. John Lasseter. Principles of traditional animation applied to 3D computer animation. Proceedings of SIGGRAPH (Computer Graphics) 21(4): 35-44, July 1987.

Principles of Animation The following are a set of principles to keep in mind: 1. Squash and stretch 2. Staging 3. Timing 4. Anticipation 5. Follow through 6. Secondary action 7. Straight-ahead vs. pose-to-pose vs. blocking 8. Arcs 9. Slow in, slow out 10. Exaggeration 11. Appeal

Squash and stretch Squash: flatten an object or character by pressure or by its own power. Stretch: used to increase the sense of speed and emphasize the squash by contrast. Note: keep volume constant! http://www.siggraph.org/education/materials/HyperGraph/animation/character_animation/principles/squash_and_stretch.htm http://www.siggraph.org/education/materials/HyperGraph/animation/character_animation/principles/bouncing_ball_example_of_slow_in_out.htm Chairs are rigid, characters made of flesh and bone are not. Deformation can come from the joints: Luxo, Jr. Stretch can also be a cheap motion blur. Very important for facial animation.

Squash and stretch (cont’d) Chairs are rigid, characters made of flesh and bone are not. Deformation can come from the joints: Luxo, Jr. Stretch can also be a cheap motion blur. Very important for facial animation.

Squash and stretch (cont’d) Chairs are rigid, characters made of flesh and bone are not. Deformation can come from the joints: Luxo, Jr. Stretch can also be a cheap motion blur. Very important for facial animation.

Anticipation An action has three parts: anticipation, action, reaction. Anatomical motivation: a muscle must extend before it can contract. Watch: bugs-bunny.virtualdub.new.mpg Prepares audience for action so they know what to expect. Directs audience's attention.

Anticipation (cont’d) Amount of anticipation (combined with timing) can affect perception of speed or weight. Bug’s Bunny clip. In Andre and Wally B, Wally backs up before speeding off. Can be used for surprise – anticipation turned to the unexpected.

Arcs Avoid straight lines since most things in nature move in arcs.

Slow in and slow out An extreme pose can be emphasized by slowing down as you get to it (and as you leave it). In practice, many things do not move abruptly but start and stop gradually.

Exaggeration Get to the heart of the idea and emphasize it so the audience can see it. Exaggeration can be used to accentuate actions. Irony: can actually seem more realistic.

Exaggeration Get to the heart of the idea and emphasize it so the audience can see it. Exaggeration can be used to accentuate actions. Irony: can actually seem more realistic.

Appeal The character must interest the viewer. It doesn't have to be cute and cuddly. Design, simplicity, behavior all affect appeal. Example: Luxo, Jr. is made to appear childlike. http://www.youtube.com/watch?v=HDuRXvtImQ0&feature=related

Appeal (cont’d) Note: avoid perfect symmetries.

Appeal (cont’d) Note: avoid perfect symmetries.

Ray Tracing Reading: Shirley Ch 10.1 --- 10.8 Slides are from Ravi Ramamoorthi’s graphics class at Columbia U

Effects needed for Realism Image courtesy Paul Heckbert 1983 Reflections (Mirrors and Glossy) Transparency (Water, Glass) Interreflections (Color Bleeding) (Soft) Shadows Complex Illumination (Natural, Area Light) Realistic Materials (Velvet, Paints, Glass) And many more

Ray Tracing Different Approach to Image Synthesis as compared to Hardware pipeline (OpenGL) OpenGL : Object by Object Ray Tracing : Pixel by Pixel Advantage: Easy to compute shadows/transparency/etc Disadvantage: Slow (in early days)

Basic Version: Ray Casting Virtual Viewpoint Virtual Screen Objects Multiple intersections: Use closest one (as does OpenGL) Ray intersects object: shade using color, lights, materials Ray misses all objects: Pixel colored black

Ray Casting Produce same images as with OpenGL Visibility per pixel instead of Z-buffer Find nearest object by shooting rays into scene Shade it as in standard OpenGL Section 10.1-10.2 in text (we show visually, omitting math)

Comparison to hardware scan-line Per-pixel evaluation, per-pixel rays (not scan-convert each object). On face of it, costly But good for walkthroughs of extremely large models (amortize preprocessing, low complexity) More complex shading, lighting effects possible

Shadows Light Source Virtual Viewpoint Virtual Screen Objects Shadow ray to light is blocked: object in shadow Shadow ray to light is unblocked: object visible 10.5 in textbook

Shadows: Numerical Issues Numerical inaccuracy may cause intersection to be below surface (effect exaggerated in figure) Causing surface to incorrectly shadow itself Move a little towards light before shooting shadow ray