1 / 66

CSc4820/6820 Computer Graphics Algorithms Ying Zhu Georgia State University

CSc4820/6820 Computer Graphics Algorithms Ying Zhu Georgia State University. Lecture 26 and 27 Animation Overview. Outline. What is animation? A little history Types of animation systems Type of motion control systems. What is animation?.

jamesengel
Download Presentation

CSc4820/6820 Computer Graphics Algorithms Ying Zhu Georgia State University

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSc4820/6820 Computer Graphics AlgorithmsYing ZhuGeorgia State University Lecture 26 and 27 Animation Overview

  2. Outline • What is animation? • A little history • Types of animation systems • Type of motion control systems

  3. What is animation? • Computer animation can be produced by using a rendering machine to produce successive frames wherein some aspect of the image is varied. • Simple animation: moving the camera or the relative motion of rigid bodies in the scene. • More sophisticated computer animation: move the camera and/or the objects in more interesting ways, • curved paths, and/or physics based animation. • Animation is also used in visualization to show the time dependent behavior of complex systems.

  4. What is animation? • In computer animation, any value that can be changed can be animated. • An object’s position and orientation are obvious candidates for animation. • Other values can be animated too: • Shape, shading parameters, texture coordinates, light source parameters, camera parameters

  5. Background: Perception • The reason we’re able to do animation is because our perceptual system is easily tricked • Positive afterimage (persistence of vision) • the visual stimulus that remains after illumination has changed or been removed • Motion blur • Persistence of vision causes an object to appear to be multiple places at once

  6. Motion Blur • Virtual camera in computer graphics does not automatically generate motion blur results • Without motion blur, 30 fps results in fast moving objects that look like they are hopping • 60 fps is usually a better choice but are harder to achieve.

  7. Traditional animation techniques • Key frame animation: • More experienced animators only draw the key frames in the animated sequence • Assistant animators or a computer program draw additional animation frames "in between" the key frames • Majority of the animations are key frame animations • Stop motion animation: • shooting a single frame, • stopping the camera to move the object a little bit, • taking another photograph and repeat • When the film runs continuously, it appears that the objects move by themselves . • Examples: King Kong, Mighty Joe Young, Chicken Run

  8. 2D animation techniques • GIF (Graphics Interchange Format) • The GIF89a feature of storing multiple images in one file, accompanied by control data, is used extensively on the web to produce simple animations. • Adobe’s (formerly Macromedia’s) Flash is a graphics animation program • Occur most commonly in animated advertisements on web pages and rich-media web sites

  9. Adobe Flash • http://www.adobe.com/products/flash/features/

  10. MS Expression Blend • MS Expression Blend 2 • http://www.microsoft.com/expression/products/features.aspx?key=blend2preview

  11. Animation History • Disney advanced animation more than anyone else • First to have sound in 1928, Steamboat Willie • First to use storyboards • First to attempt realism • Invented multiplane camera • The multiplane allowed the animator to re-use the same background, foreground, or any elements not in motion, saving hours of labor. • More about the history of animation: • http://en.wikipedia.org/wiki/History_of_animation

  12. Types of Animation Systems • Scripting Systems: The animator writes a script in the animation language. • (model "ball" ((squash '((1 0.5 L) (30 1.5 L))) (make-ball (squash))) • Actor: a complex object which has its own animation rules. • In animating a bicycle, the wheels will rotate in their own coordinate system and the animator doesn't have to worry about this detail. • Actors can communicate with other actors be sending messages and so can synchronize their movements.

  13. Types of Animation System • Procedural Animation: define movement over time. • These might be procedures that use the laws of physics (physically - based modeling) or animator generated methods. • Throwing a ball which hits another object and causes the second object to move.

  14. Types of Animation Systems • Stochastic Animation: uses stochastic processes to control groups of objects, such as in particle systems. • Fireworks, fire, water falls, etc. • Behavioral Animation: objects or "actors" are given rules about how they react to their environment. • schools of fish or flocks of birds

  15. Motion Control • A major part of animation is motion control. • Bridge gap between knowledge of how things move to how they need to be rendered • Artists use their minds and hands • Computer scientists use math and programs

  16. Types of Animation Control Systems • Traditional Methods • Cartoons, stop motion • Key framing • Interpolation between frames • Motion Capture • Simulation

  17. Key framing • Key frame systems were developed by classical animators such as Walt Disney. • An expert animator would design (choreograph) an animation by drawing certain intermediate frames, called key frames. • Then other animators would draw the in-between frames.

  18. Keyframing Steps • Develop a script or story for the animation • Lay out a storyboard, that is a sequence of informal drawings that shows the form, structure, and story of the animation. • Record a soundtrack • Produce a detailed layout of the action. • Correlate the layout with the soundtrack.

  19. Keyframing Steps • Create the "keyframes" of the animation. The keyframes are those where the entities to be animated are in positions such that intermediate positions can be easily inferred. • Fill in the intermediate frames (called "inbetweening" or "tweening"). • Make a trial "film" called a "pencil test“. Transfer the pencil test frames to sheets of acetate film, called "cels". These may have multiple planes, e.g., a static background with an animated foreground. • The cels are then assembled into a sequence and filmed.

  20. Pixar’s Animation Process • Development, creating the storyline • Pre-production, addressing technical challenges • Production: making the film • Post-production: polishing the final product • More information at: http://www.pixar.com/howwedoit/index.html

  21. Interpolation • With computers, the animator would specify the keyframes and the computer would draw the in-between frames • Many different parameters can be interpolated but care must be taken in such interpolations if the motion is to look "real". • For example in the rotation of a line, the angle should be interpolated rather than the 2D position of the line endpoint.

  22. Interpolation • The simplest type of interpolation is linear, i.e., the computer interpolates points along a straight line. • Simple interpolation techniques can only generate simple inbetweens • More complicated inbetweening will require a more complicated model of animated object and simulation • A better method is to use cubic splines for interpolation. Here, the animator can interactively construct the spline and then view the animation.

  23. Interpolation • Strengths • Animator has exacting control • Weaknesses • Interpolation hooks must be simple and direct • Time consuming and skill intensive • Difficult to reuse and adjust

  24. Motion Capture

  25. What is motion capture? • Motion capture involves measuring an object's position and orientation in physical space, then recording that information in a computer-usable form. • Objects of interest include human and non-human bodies, facial expressions, camera or light positions, and other elements in a scene. • In most instances, a live subject, most likely human (but possibly and animal or puppet), is used as the source of data which is transformed into another form.

  26. Motion capture (MoCap) • MoCap is used extensively in films • E.g. Final Fantasy • But game industry accounts for 85-90% of the total MoCap usage • Almost all games use MoCap to drive character animation

  27. Character animation • Store a vocabulary of MoCap sequences • Game events -> MoCap library -> animation skeleton -> skin skeleton -> render skin mesh • Blend MoCap sequences in real-time

  28. Online MoCap Database • CMU Graphics Lab Motion Capture Database • http://mocap.cs.cmu.edu/

  29. Two Types of Motion Capture • Offline MoCap • The data is captured, stored, processed and then later applied to the computer character • Real-time MoCap • The motion data is captured and applied to the character simultaneously. • No noticeable delay in the character’s movement

  30. Motion Capture Steps • Marker placement • About 40 markers for human character • Marker position is often pre-defined

  31. Motion Capture Steps • Calibratethe cameras • To ensure that all the cameras are able to view the area used for capture • Static calibration: a number of markers are placed on the floor • Dynamic calibration: a stick with markers is waved around the area of capture

  32. Camera calibration

  33. Subject calibration • Subject calibration: • Static calibration: the subject stands in a “T” position with the arms straight out • Dynamic calibration: the subject do a simple motion such as walking across the room

  34. Labeling • MoCap equipments normally come with a companion software • Use the software to view the captured motion as a collection of markers moving over a period of time. • Labeling: match a list of default marker names to the corresponding markers on the body. • The software will then connect the markers to create segments.

  35. Labeling

  36. Ready to capture • Now you are ready to capture the motion

  37. Real-time MoCap with Maya • Create a 3D character with Maya • Write a Maya plug-in so that Maya can communicate with MoCap software • The data provided by MoCap software includes marker positions and orientations. • You may have to modify the plug-in to calculate joint angles for Maya animation • In the end, the MoCap data will be played on Maya in real-time.

  38. Performance capture • A term possibly coined by Robert Zemeckis, one of the creators of The Polar Express movie. • A combination of motion capture and facial expressions capture. • Actors wear the same reflective markers as in motion capture, but also special makeup to record the facial movements. • The Polar Express is the first movie made solely with this process

  39. MoCap Advantages • The quality of the MoCap is usually better than keyframe based animation • It’s generally cheaper • You don’t need to hire experienced animators • Once you have the equipments, it’s quite convenient and fast

  40. MoCap Disadvantages • You can only activate pre-recorded scripts • Need to be able to adapt the MoCap sequences to the developing game • Need to produce new sequences from existing ones • MoCap data is only valid for a virtual character of the same scale as the actor • Retargeting problem • MoCap data is often noisy and needs “cleaning” • Put markers on skin may cause inaccuracy

  41. MoCap data • BVH (Biovision Hierarchical) is a popular format for MoCap data file • BVH file is an ASCII file with two parts: a header and data section. • The header section defines the hierarchy of the skeleton section • The data section contains the motion data

  42. BVH Header HIERARCHY ROOT Hips { OFFSET 0.00 0.00 0.00 CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation JOINT Chest { OFFSET 0.000000 6.275751 0.000000 CHANNELS 3 Zrotation Xrotation Yrotation JOINT Neck { OFFSET 0.000000 14.296947 0.000000 CHANNELS 3 Zrotation Xrotation Yrotation JOINT Head { OFFSET 0.000000 2.637461 0.000000 CHANNELS 3 Zrotation Xrotation Yrotation End Site { OFFSET 0.000000 4.499004 0.000000 } } }

  43. BVH Header • Starts with “HIERARCHY” • Followed by “ROOT” • Under “ROOT” there are many “JOINT”s • Each segment of the hierarchy contains some data relevant to just that segment then it recursively defines its children • "OFFSET" specifies the X,Y and Z offset of the segment from its parent.

  44. BVH Header • "CHANNELS" keyword is followed by a number indicating the number of channels and then a list of channel types. • Each channel defines a rotation or a translation • The BVH file reader must keep track of the channel count and the types of channels • When the motion information is parsed, this ordering will be needed to parse motion data.

  45. BVH Header • The header defines a hierarchy of the skeleton elements • There is a clear parent-children relationship between elements • Both rotation and translation are applied to root • But only rotations are applied to the subsequent elements

  46. BVH Header • Rotations and translations applied to a parent will also be applied to its children • The rotations must be applied in the exact same sequences as defined in the header file • E.g. CHANNELS 3 Zrotation Xrotation Yrotation

  47. BVH Motion Data MOTION Frames: 221Frame Time: 0.033333-52.639393 5.502577 -24.045584 -0.141973 -2.014796 168.192474 0.497725 -7.997160 -1.028750 1.699625 14.362976 -70.263901 9.608611 -7.159039 4.029681 -7.153963 6.478788 -1.131146 63.097137 -17.897503 10.371124 11.056903 18.855059 -1.152606 -12.619223 2.756601 -2.661273 7.371855 3.376274 0.730345 -33.407173 -50.454651 40.945957 -0.268818 -14.677370 -1.453574 34.151531 4.520365 6.915862 1.405439 1.299108 14.532411 -1.127334 13.822516 2.731807 -4.895255 -14.491690 -0.887453 4.804123 -18.305904 -80.372475 3.154339 0.584938 15.660497 -19.273043 15.380182 12.391992

  48. BVH Data Section • Begins with the keyword "MOTION“ • Followed by a line with keyword “FRAMES:” indicating the number of frames, • "Frame Time:" indicates the sampling rate of the data. • The rest of the file contains the actual motion data. • Each line is one sample of motion data.

  49. MoCap Data Manipulation • MoCap data often needs to be manipulated before use • Low-level processing • High-level processing

  50. Low Level MoCap Data Post-processing • Noise removal • Filling in gaps causes by markers going out of view • Eliminating confusion when two markers become coincident in a view

More Related