Top Banner
SWE 423: Multimedia Systems Chapter 6: Computer-Based Animation
25
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SWE 423: Multimedia Systems Chapter 6: Computer-Based Animation.

SWE 423: Multimedia Systems

Chapter 6: Computer-Based Animation

Page 2: 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

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

Introduction

• An animation covers all changes that have a visual effect– – – – – – –

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

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

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

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)

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

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.

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

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)

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

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.

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

Specification of Animations

• Formal specifications that describe animations can be divided into three categories:– Linear-List Notations– High-Level Programming Language Notations– Graphical Languages

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

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.

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

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

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

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.

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

Methods of Controlling Animations

• Explicitly Declared

• Procedural

• Constraint-Based

• Analyzing Live Action-Based

• Kinematic and Dynamic

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

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.

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

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

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

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.

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

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]

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

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

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

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

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

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)

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

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.

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

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

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

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.

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

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.

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

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