660 likes | 667 Views
Learn about computer animation, its history, techniques, and control systems. Discover types of animations, motion effects, traditional and 2D animation methods, and animation system varieties.
E N D
CSc4820/6820 Computer Graphics AlgorithmsYing ZhuGeorgia 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? • 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.
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
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
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.
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
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
Adobe Flash • http://www.adobe.com/products/flash/features/
MS Expression Blend • MS Expression Blend 2 • http://www.microsoft.com/expression/products/features.aspx?key=blend2preview
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
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.
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.
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
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
Types of Animation Control Systems • Traditional Methods • Cartoons, stop motion • Key framing • Interpolation between frames • Motion Capture • Simulation
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.
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.
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.
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
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.
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.
Interpolation • Strengths • Animator has exacting control • Weaknesses • Interpolation hooks must be simple and direct • Time consuming and skill intensive • Difficult to reuse and adjust
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.
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
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
Online MoCap Database • CMU Graphics Lab Motion Capture Database • http://mocap.cs.cmu.edu/
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
Motion Capture Steps • Marker placement • About 40 markers for human character • Marker position is often pre-defined
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
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
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.
Ready to capture • Now you are ready to capture the motion
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.
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
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
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
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
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 } } }
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.
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.
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
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
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
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.
MoCap Data Manipulation • MoCap data often needs to be manipulated before use • Low-level processing • High-level processing
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