1 / 25

SWE 423: Multimedia Systems

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

Download Presentation

SWE 423: Multimedia Systems

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.


Presentation Transcript

  1. SWE 423: Multimedia Systems Chapter 6: Computer-Based Animation

  2. Outline • Introduction • Producing an Animation • Specifications of Animations • Methods of Controlling Animations • Display of Animations • Transmission of Animations • VRML

  3. Introduction • An animation covers all changes that have a visual effect

  4. 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

  5. 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)

  6. 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.

  7. 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)

  8. 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.

  9. Specification of Animations • Formal specifications that describe animations can be divided into three categories: • Linear-List Notations • High-Level Programming Language Notations • Graphical Languages

  10. 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 example 42, 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.

  11. 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

  12. 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.

  13. Methods of Controlling Animations • Explicitly Declared • Procedural • Constraint-Based • Analyzing Live Action-Based • Kinematic and Dynamic

  14. 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.

  15. 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 ....

  16. 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.

  17. 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]

  18. 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.”

  19. 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

  20. 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)

  21. 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.

  22. 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

  23. 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.

  24. 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.

  25. VRML Example Color interpolator This example interpolates in a 10-second long cycle from red to green to blue DEF 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

More Related