Presentation is loading. Please wait.

Presentation is loading. Please wait.

SWE 423: Multimedia Systems

Similar presentations


Presentation on theme: "SWE 423: Multimedia Systems"— 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 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


Download ppt "SWE 423: Multimedia Systems"

Similar presentations


Ads by Google