swe 423: multimedia systems chapter 6: computer-based animation
Post on 22-Dec-2015
233 views
TRANSCRIPT
SWE 423: Multimedia Systems
Chapter 6: Computer-Based Animation
Outline
• Introduction
• Producing an Animation
• Specifications of Animations
• Methods of Controlling Animations
• Display of Animations
• Transmission of Animations
• VRML
Introduction
• An animation covers all changes that have a visual effect– – – – – – –
Introduction
• Computer-based animations are produced, edited and generated with the help of graphical tools to create visual effects– Multimedia API’s
• Java3D– Constructs and renders 3D graphics– Provides a basic set of object primitives (cube, splines,...etc.)– An abstraction layer built on top of DirectX or OpenGL
• DirectX– Windows API that supports video, images, audio, and 3D
animation– Most widely used for Windows-based animations (video games)
• OpenGL– Most popular 3D API in use today– Highly portable
Introduction• Computer-based animations are produced, edited and generated
with the help of graphical tools to create visual effects – Rendering Tools
• 3D Studio Max– Character animation, game development and visual effects production (Sony
Playstation)
• Softimage XSI– For animation and special effects in movies
• Maya– Softimage competitor
• RenderMan– Excels in creating complex surface appearances and images– Has been used in many movies.
– Simple/Quick Animation Generators• GIF Animation Packages
– Looping through several GIF images creates an animation– Gifcon and GifBuilder (Windows) and animate (Linux)
Producing An Animation
• Input Process– Drawings must be digitized or generated
• Digitizing photos or drawings may require post-processing in order to remove any glitches
• Composition Stage– Individual frames in a completed animation are
generated by using image composition techniques to combine foreground and background elements
– Trailer film is generated from placing low-resolution digitized frames in a grid.
Producing An Animation
• InBetween Process– Interpolation methods are used to animate the
movement from one position to another.• Linear interpolation (lerping) is the simplest but the
most limited– E.g. the interpolation of animating throwing a ball using
three points
• Splines can be used to smoothly vary different parameters as a function of time, yet the problem is not completely solved (very complex)
Producing An Animation
• Changing Colors– Uses the Color LookUp Table (CLUT) or
(LUT) of the graphics memory and the double buffering method
• Two parts of a frame are stored in different areas of graphic memory.
– The graphic memory is divided into two fields, each having half as many bits per pixel.
• The animation is generated by manipulating the CLUT.
Specification of Animations
• Formal specifications that describe animations can be divided into three categories:– Linear-List Notations– High-Level Programming Language Notations– Graphical Languages
Linear List Notations
• Each event is described by a beginning frame number, an end frame number and an action event that is to be performed.– Action events may accept input parameters
• For example42, 53, B, ROTATE “PALM”, 1, 30– This instruction means......
• SCEne Format (Scefo) specification can be considered a superset of linear sets including groups and object hierarchies as well as transformation abstractions using high-level languages constructs.
High-Level Programming Languages Notations
• Values of variables can be used as parameters for animation routines.
• For example, ASAS is a LISP extension that includes primitives such as vectors, colors, polygons, surfaces, groups, points of view, subworlds, and lighting aspects in addition to geometrical transformations operating on objects– For example(grasp my-cube); cube is current object(cw 0.05); small clock-wise rotation(grasp camera); camera is current object(right panning-speed); Move it to the right
Graphical Languages
• Graphical actions cannot be easily described by and/or understood from textual scripts.
• Hence, graphical animation languages describe animations in a visual manner.
• GENESYS, DIAL and S-Dynamics System are examples of such systems.
Methods of Controlling Animations
• Explicitly Declared
• Procedural
• Constraint-Based
• Analyzing Live Action-Based
• Kinematic and Dynamic
Explicitly Declared Control
• All events that could occur in an animation are declared. This can be done at the– object level by specifying simple
transformations (translations, rotations, scaling) to objects
– frame level by specifying key frames and methods for interpolating between them.
Procedural Control
• Based on communication among different objects whereby each object obtains knowledge about the static/dynamic properties of other objects.– Can be used to ensure consistency
• For example ....
Constraint-Based Control
• Many objects movements in the real world are determined by other objects which they come in contact with– E.g. presence of strong wind or fast moving
large objects
• Instead of explicit declaration, constraints based on the environment can be used to control objects’ motion.
• Example Systems: Sketchpad and ThingLab.
Analyzing Live Action-Based Control
• Control is achieved by examining the motions of objects in the real world.– Rotoscoping: is a technique where animators trace live
action movement, frame by frame, for use in animated films.
• Originally, pre-recorded live-film images were projected onto a frosted glass panel and redrawn by an animator.
– This projection equipment is called a Rotoscope.
• Another way is to attach indicators to key points on the body of a human actor.– For example the data glove [gesture language for
hearing-impaired people]
Kinematic and Dynamic Control
• Kinematics refer to the position and velocity of points– “The cube is at the origin at time t = 0. Thereafter, it
moves with constant acceleration in the direction (1 meter, 1 meter, 5 meters)”
• Dynamics takes into account the physical laws that govern kinematics– Newton laws for the movement of large objects– Euler-Lagrange equations for fluids– A particle moves with an acceleration proportional to
the forces acting on it.– For example: “At time t = 0, the cube is at position (0
meter, 100 meter, 0 meter). The cube has a mass of 100 grams. The force of gravity acts on the cube.”
Display of Animation
• To display animations with raster systems, the animated objects must be scan-converted and stored as pixmap in the frame buffer.– Scan conversion must be done at least 10 times
per second to ensure smooth visual effects.• The actual scan-conversion must take a small
portion of 10 times/second in order to avoid distracting ghost effect
• Double buffering is used to avoid the ghost effect
Display of Animation
• Example
Load CLUT to display values as background color;
Scan-convert object into image0
Load CLUT to display only image0
Repeat
Scan-convert object into image1
Load CLUT to display only image1
Rotate object data structure description
Scan-convert object into image0
Load CLUT to display only image0
Rotate object data structure description
Until (termination condition)
Transmission of Animation
• Two forms of transmission– Symbolic representation of an animation is transmitted
together with the operations performed on the object.• The receiver displays the animation.
– Transmission is fast since text is much smaller than pixmaps
– Display is slow since the pixmap has to be generated from their descriptions.
– The pixmap representations are transmitted and displayed
• Transmission time is longer.
• Display is faster.
VRML
• Virtual Reality Modeling Language– Describes 3D interactive worlds and objects that can be
used together with the World Wide Web.• Illustrations, product definitions or virtual reality presentations
can be generated on the Web.– History of VRML
• May 1994: At the first Int. Conf. on the WWW, the idea of a platform-independent standard for 3-D WWW applications originated
• October 1994: VRML 1.0 was presented at the second Int. Conf. on the WWW.
– VRML 1.0 defined the parameters for creating 3D objects that can travel across the Internet.
• August 1995: VAG (Vrml Architecture Group) was established
VRML
– History of VRML• January 1996: VAG called for proposals for VRML 2.0.
Each of the following submitted their own– Apple: “Out of this World”
– Sun: “Holoweb”
– German National Research Center for Information Technology (GMD) and others: “Dynamic Worlds”
– IBM Japan: “Reactive Virtual Environment”
– Microsoft: “Active VRML”
– Silicon Graphics Inc. (SGI), Sony, and others “Moving Worlds”
• August 1996: VRML 2.0 in its final form was presented in SIGGRAPH 96.
VRML Capabilities
• VRML is capable of representing static and animated objects as well as hyperlinks to other media such as sound, motion pictures and still pictures
• There are three ways of navigating though a virtual world:– Walk: Movement over the ground at eye-level– Fly: Movement at any height– Examine: Rotating an object in order to closely
examine it.
VRML Example
Color interpolatorThis example interpolates in a 10-second long cycle
from red to green to blueDEF myColor ColorInterpolator{ key [0.0, 0.5, 1.0] keyValue [1 0 0, 0 1 0, 0 0 1] # red, green, blue}DEF myClock TimeSensor { cycleInterval 10.0# 10 second animation
loop TRUE # animation in endless loop