3D Animation


Computer animation is the art of creating moving images via the use of computers. It is a subfield of computer graphics and animation. Increasingly it is created by means of 3D computer graphics, though 2D computer graphics are still widely used for low bandwidth and faster real-time rendering needs. Sometimes the target of the animation is the computer itself, but it sometimes the target is another medium, such as film. It is also referred to as CGI (computer generated imagery or computer generated imaging), especially when used in films.

To create the illusion of movement, an image is displayed on the computer screen then quickly replaced by a new image that is similar to the previous image, but shifted slightly. This technique is identical to how the illusion of movement is achieved with television and motion pictures.

Computer animation is essentially a digital successor to the art of stop motion animation of 3D models and frame-by-frame animation of 2D illustrations. For 3D animations, objects (models) are built on the computer monitor (modeled) and 3D figures are rigged with a virtual skeleton. For 2D figure animations, separate objects (illustrations) and separate transparent layers are used, with or without a virtual skeleton. Then the limbs, eyes, mouth, clothes, etc. of the figure are moved by the animator on key frames. The differences in appearance between key frames are automatically calculated by the computer in a process known as tweening or morphing. Finally, the animation is rendered.

For 3D animations, all frames must be rendered after modeling is complete. For 2D vector animations, the rendering process is the key frame illustration process, while tweened frames are rendered as needed. For pre-recorded presentations, the rendered frames are transferred to a different format or medium such as film or digital video. The frames may also be rendered in real time as they are presented to the end-user audience. Low bandwidth animations transmitted via the internet (e.g. 2D Flash, X3D) often use software on the end-users computer to render in real time as an alternative to streaming or pre-loaded high bandwidth animations.

 

A simple example

 

Computer animation example

Computer animation example

The screen is blanked to a background color, such as black. Then a goat is drawn on the right of the screen. Next the screen is blanked, but the goat is re-drawn or duplicated slightly to the left of its original position. This process is repeated, each time moving the goat a bit to the left. If this process is repeated fast enough the goat will appear to move smoothly to the left. This basic procedure is used for all moving pictures in films and television.

The moving goat is an example of shifting the location of an object. More complex transformations of object properties such as size, shape, lighting effects and color often require calculations and (computer rendering) instead of simple re-drawing or duplication.

Explanation

To trick the eye and brain into thinking they are seeing a smoothly moving object, the pictures should be drawn at around 12 frames per second or faster (a frame is one complete image). With rates above 70 frames/s no improvement in realism or smoothness is perceivable due to the way the eye and brain process images. At rates below 12 frames/s most people can detect jerkiness associated with the drawing of new images which detracts from the illusion of realistic movement. Conventional hand-drawn cartoon animation often uses 15 frames/s in order to save on the number of drawings needed, but this is usually accepted because of the stylized nature of cartoons. Because it produces more realistic imagery computer animation demands higher frame rates to reinforce this realism.

The reason no jerkiness is seen at higher speeds is due to “persistence of vision.” From moment to moment, the eye and brain working together actually store whatever you look at for a fraction of a second, and automatically “smooth out” minor jumps. Movie film seen in a theater runs at 24 frames/s which is sufficient to create this illusion of continuous movement. Many people are tricked into seeing the movement without any stopping because the frames are shot at a quick rate.

Creating characters and objects on a computer

Computer animation combines Vector graphics with programmed movement. The starting point is often a stick figure in which the position of each feature (limb, mouth etc) is defined by as Avars (animation variable).

The character “Woody” in Toy Story, for example, uses 700 Avars with 100 Avars in his face alone. Successive sets of Avars control all movement of the character from frame to frame. Once the stick model is moving in the desired way, the avars are incorporated into a full wire frame model or a model built of polygons. Finally surfaces are added, requiring a lengthy process of rendering to produce the final scene.

There are several ways of generating the Avar values to obtain realistic motion. Motion tracking uses lights or markers on a real person acting out the part, tracked by a video camera. Or the Avars may be set manually using a joystick or other form input control. Toy Story uses no motion tracking, probably because only manual control by a skilled animator can produce effects not easily acted out by a real person.

Computer animation development equipment

Computer animation can be created with a computer and animation software. Some examples of animation software are: Amorphium, Art of Illusion, Poser, Ray Dream Studio, Bryce, Maya, Blender, TrueSpace, Lightwave, 3D Studio Max, SoftImage XSI, Alice, and Adobe Flash (2D). There are many more. Prices will vary greatly depending on target market. Some impressive animation can be achieved even with basic programs; however, the rendering can take a lot of time on an ordinary home computer. Because of this, video game animators tend to use low resolution, low polygon count renders, such that the graphics can be rendered in real time on a home computer. Photorealistic animation would be impractical in this context.

Professional animators of movies, television, and video sequences on computer games make photorealistic animation with high detail. This level of quality for movie animation would take tens to hundreds of years to create on a home computer. Many powerful workstation computers are used instead. Graphics workstation computers use two to four processors, and thus are a lot more powerful than a home computer, and are specialized for rendering. A large number of workstations (known as a render farm) are networked together to effectively act as a giant computer. The result is a computer animated movie that can be completed in about one to five years (this process is not comprised solely of rendering, however). A workstation typically costs $2,000 to $16,000, with the more expensive stations being able to render much faster, due to the more technologically advanced hardware that they contain. Pixar’s Renderman is rendering software which is widely used as the movie animation industry standard, in competition with Mental Ray. It can be bought at the official Pixar website for about $5,000 to $8,000. It will work on Linux, Mac OS X, and Microsoft Windows based graphics workstations along with an animation program such as Maya and Softimage XSI. Professionals also use digital movie cameras, motion capture or performance capture, bluescreens, film editing software, props, and other tools for movie animation.

Hardware animation display technology

 

An example of computer rendered animation

 

An example of computer rendered animation

When an image is rendered to the screen, it is normally rendered to something called a back buffer. There the computer can draw the image, making any necessary changes to it before it is done. While the computer is rendering, the screen is showing the contents of what is called the primary or active buffer.

When the image is completed, the computer tells the screen to draw from the back buffer. This can be done in one of two ways: the contents of the back buffer can be copied to the primary buffer (or active buffer—the buffer which is currently being shown) or the computer can switch where it is drawing from and make the back buffer the new primary buffer. In this case, the primary buffer becomes the back buffer. John MacArthur is the one that thought up this process. This process is usually called double buffering or, informally, “flipping,” because the computer is flipping its use of primary and back buffers.

This switching should be carried out when it is imperceptible to the user. Therefore it needs to take place during what is called the “v-sync” or vertical retrace. The v-sync, in CRTs, takes place when the electron guns reach the bottom right of the screen and need to reposition the beam to the top left of the screen. This happens very quickly and the image the guns had just projected remain on the screen as they are moving back to their starting position. While the guns are repositioning themselves, the computer has enough time to flip buffers and the new image will be rendered on the screen on the next pass of the guns. The new image will continued to be displayed until the buffers are flipped once more.

When the computer fails to wait for the v-sync, a condition called sprite breakup or image breakup is perceptible. This is highly undesirable and should always be avoided when possible to maintain the illusion of movement.

The future

One open challenge in computer animation is a photorealistic animation of humans. Currently, most computer-animated movies show animal characters (Finding Nemo), fantasy characters (Shrek, Monsters Inc.), or cartoon-like humans (The Incredibles). The movie Final Fantasy: The Spirits Within is often cited as the first computer-generated movie to attempt to show realistic-looking humans. However, due to the enormous complexity of the human body, human motion, and human biomechanics, realistic simulation of humans remains largely an open problem. It is one of the “holy grails” of computer animation. Eventually, the goal is to create software where the animator can generate a movie sequence showing a photorealistic human character, undergoing physically-plausible motion, together with clothes, photorealistic hair, a complicated natural background, and possibly interacting with other simulated human characters. This should be done in a way that the viewer is no longer able to tell if a particular movie sequence is computer-generated, or created using real actors in front of movie cameras. Achieving such a goal would mean that conventional flesh-and-bone human actors are no longer necessary for this kind of movie creation, and computer animation would become the standard way of making every kind of a movie, not just animated movies. However, living actors will be needed for voice-over acting and motion capture body movements. Complete human realism is not likely to happen very soon, however such concepts obviously bear certain philosophical implications for the future of the film industry.

Then we have the animation studios who are not interested in photorealistic CGI features, or to be more precise, they want some alternatives to choose from and may prefer one style over another, depending on the movie.

For the moment it looks like three dimensional computer animation can be divided into two main directions; photorealistic and non-photorealistic rendering. Photorealistic computer animation can itself be divided into two subcategories; real photorealism (where performance capture is used in the creation of the virtual human characters) and stylized photorealism. Real photorealism is what Final Fantasy tried to achieve and will in the future most likely have the ability to give us live action fantasy features as The Dark Crystal without having to use advanced puppetry and animatronics, while Antz is an example on stylistic photorealism (in the future stylized photorealism will be able to replace traditional stop motion animation as Corpse Bride). None of them are as mentioned perfected yet, but the progress continues. The non-photorealistic/cartoonish direction is more like an extension and improvement of traditional animation, an attempt to make the animation look like a three dimensional version of a cartoon, still using and perfecting the main principles of animation articulated by the Nine Old Men, such as squash and stretch. While a single frame from a photorealistic computer animated feature will look like a photo if done right, a single frame vector from a cartoonish computer animated feature will look like a painting (not to be confused with cel shading, which produces an ever simpler look).

Detailed examples and pseudocode

In 2D computer animation, moving objects are often referred to as “sprites.” A sprite is an image that has a location associated with it. The location of the sprite is changed slightly, between each displayed frame, to make the sprite appear to move. The following pseudocode makes a sprite move from left to right:

var int x := 0, y := screenHeight ÷ 2;
while x < screenWidth
drawBackground()
drawSpriteAtXY(x, y)  // draw on top of the background
x := x + 5  // move to the right

Modern (2001) computer animation uses different techniques to produce animations. Most frequently, sophisticated mathematics is used to manipulate complex three dimensional polygons, apply “textures”, lighting and other effects to the polygons and finally rendering the complete image. A sophisticated graphical user interface may be used to create the animation and arrange its choreography. Another technique called constructive solid geometry defines objects by conducting boolean operations on regular shapes, and has the advantage that animations may be accurately produced at any resolution.

Let’s step through the rendering of a simple image of a room with flat wood walls with a grey pyramid in the center of the room. The pyramid will have a spotlight shining on it. Each wall, the floor and the ceiling is a simple polygon, in this case, a rectangle. Each corner of the rectangles is defined by three values referred to as X, Y and Z. X is how far left and right the point is. Y is how far up and down the point is, and Z is far in and out of the screen the point is. The wall nearest us would be defined by four points: (in the order x, y, z). Below is a representaion of how the wall is defined.

(0, 10, 0)                        (10, 10, 0)

(0,0,0)                           (10, 0, 0)

The far wall would be:

(0, 10, 20)                        (10, 10, 20)

(0, 0, 20)                         (10, 0, 20)

The pyramid is made up of five polygons: the rectangular base, and four triangular sides. To draw this image the computer uses math to calculate how to project this image, defined by three dimensional data, onto a two dimensional computer screen.

First we must also define where our view point is, that is, from what vantage point will the scene be drawn. Our view point is inside the room a bit above the floor, directly in front of the pyramid. First the computer will calculate which polygons are visible. The near wall will not be displayed at all, as it is behind our view point. The far side of the pyramid will also not be drawn as it is hidden by the front of the pyramid.

Next each point is perspective projected onto the screen. The portions of the walls ‘farthest’ from the view point will appear to be shorter than the nearer areas due to perspective. To make the walls look like wood, a wood pattern, called a texture, will be drawn on them. To accomplish this, a technique called “texture mapping” is often used. A small drawing of wood that can be repeatedly drawn in a matching tiled pattern (like wallpaper) is stretched and drawn onto the walls’ final shape. The pyramid is solid grey so sp its surfaces can just be rendered as grey. But we also have a spotlight. Where its light falls we lighten colors, where objects blocks the light we darken colors.

Next we render the complete scene on the computer screen. If the numbers describing the position of the pyramid were changed and this process repeated, the pyramid would appear to move.

Movies

CGI short films have been produced as independent animation since the 1970s, though the popularity of computer animation (especially in the field of special effects) skyrocketed during the modern era of U.S. animation. The first completely computer-generated animated movie was Toy Story. See List of computer animated films for more.

Amateur animation

The popularity of sites such as YouTube, which allows members to upload their own movies for others to view, has created a growing number of what is often considered amateur computer animators. With many free utilities available and programs such as Windows Movie Maker, anyone with the tools can have their animation viewed by thousands.

This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article “Computer animation“.

Popularity: 48% [?]

Be the First One to Tell this Story to others:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • blinkbits
  • BlinkList
  • blogmarks
  • co.mments
  • connotea
  • del.icio.us
  • De.lirio.us
  • digg
  • Fark
  • feedmelinks
  • Furl
  • LinkaGoGo
  • Ma.gnolia
  • NewsVine
  • Netvouz
  • RawSugar
  • Reddit
  • scuttle
  • Shadows
  • Simpy
  • Smarking
  • Spurl
  • TailRank
  • Wists
  • YahooMyWeb

3D computer graphics are works of graphic art created with the aid of digital computers and 3D software. The term may also refer to the process of creating such graphics, or the field of study of computer graphic techniques and related technology.

3D computer graphics are different from 2D computer graphics in that a three-dimensional representation of geometric data is stored in the computer for the purposes of performing calculations and rendering 2D images. Such images may be for later display or for real-time viewing.

3D modeling is the process of preparing geometric data for 3D computer graphics, and is similiar to sculpting, whereas the art of 2D graphics is analogous to photography. Despite these differences, 3D computer graphics rely on many of the same algorithms as 2D computer graphics.

In computer graphics software, the distinction between 2D and 3D is occasionally blurred; 2D applications may use 3D techniques to achieve effects such as lighting, and primarily 3D may use 2D rendering techniques.

 

Technology

OpenGL and Direct3D are two popular APIs for generation of real-time imagery. Real-time means that image generation occurs in ‘real time’, or ‘on the fly’, and may be highly user-interactive. Many modern graphics cards provide some degree of hardware acceleration based on these APIs, frequently enabling display of complex 3D graphics in real-time.

Creation of 3D computer graphics

 

Architectural rendering compositing of modeling and lighting finalized by rendering process

 

Architectural rendering compositing of modeling and lighting finalized by rendering process

 

3D model of a suspension bridge spanning an unusually placid body of water

 

3D model of a suspension bridge spanning an unusually placid body of water

The process of creating 3D computer graphics can be sequentially divided into three basic phases:

  • Content creation (3D modeling, texturing, animation)
  • Scene layout setup
  • Rendering

Modeling

The modeling stage consists of shaping individual objects that are later used in the scene. There are a number of modeling techniques, including

Modeling processes may also include editing object surface or material properties (e.g., color, luminosity, diffuse and specular shading components — more commonly called roughness and shininess, reflection characteristics, transparency or opacity, or index of refraction), adding textures, bump-maps and other features.

Modeling may also include various activities related to preparing a 3D model for animation (although in a complex character model this will become a stage of its own, known as rigging). Objects may be fitted with a skeleton, a central framework of an object with the capability of affecting the shape or movements of that object. This aids in the process of animation, in that the movement of the skeleton will automatically affect the corresponding portions of the model. See also Forward kinematic animation and Inverse kinematic animation. At the rigging stage, the model can also be given specific controls to make animation easier and more intuitive, such as facial expression controls and mouth shapes (phonemes) for lipsyncing.

Modeling can be performed by means of a dedicated program (e.g., Cinema 4D,Lightwave Modeler, Rhinoceros 3D, Moray), an application component (Shaper, Lofter in 3D Studio) or some scene description language (as in POV-Ray). In some cases, there is no strict distinction between these phases; in such cases modelling is just part of the scene creation process (this is the case, for example, with Caligari trueSpace and Realsoft 3D).

Particle system are a mass of 3d coordinates which have either points, polygons, splats or sprites assign to them. They act as a volume to represent a shape.

Process

 

A 3D scene of 8 red glass balls

 

A 3D scene of 8 red glass balls

Scene layout setup

Scene setup involves arranging virtual objects, lights, cameras and other entities on a scene which will later be used to produce a still image or an animation. If used for animation, this phase usually makes use of a technique called “keyframing“, which facilitates creation of complicated movement in the scene. With the aid of keyframing, instead of having to fix an object’s position, rotation, or scaling for each frame in an animation, one needs only to set up some key frames between which states in every frame are interpolated.

Lighting is an important aspect of scene setup. As is the case in real-world scene arrangement, lighting is a significant contributing factor to the resulting aesthetic and visual quality of the finished work. As such, it can be a difficult art to master. Lighting effects can contribute greatly to the mood and emotional response effected by a scene, a fact which is well-known to photographers and theatrical lighting technicians.

Tessellation and meshes

The process of transforming representations of objects, such as the middle point coordinate of a sphere and a point on its circumference into a polygon representation of a sphere, is called tessellation. This step is used in polygon-based rendering, where objects are broken down from abstract representations (”primitives”) such as spheres, cones etc, to so-called meshes, which are nets of interconnected triangles.

Meshes of triangles (instead of e.g. squares) are popular as they have proven to be easy to render using scanline rendering.

Polygon representations are not used in all rendering techniques, and in these cases the tessellation step is not included in the transition from abstract representation to rendered scene.

Rendering

Rendering is the final process of creating the actual 2D image or animation from the prepared scene. This can be compared to taking a photo or filming the scene after the setup is finished in real life.

Rendering for interactive media, such as games and simulations, is calculated and displayed in real time, at rates of approximately 20 to 120 frames per second. Animations for non-interactive media, such as feature films and video, are rendered much more slowly. Non-real time rendering enables the leveraging of limited processing power in order to obtain higher image quality. Rendering times for individual frames may vary from a few seconds to several days for complex scenes. Rendered frames are stored on a hard disk then can be transferred to other media such as motion picture film or optical disk. These frames are then displayed sequentially at high frame rates, typically 24, 25, or 30 frames per second, to achieve the illusion of movement.

Several different, and often specialized, rendering methods have been developed. These range from the distinctly non-realistic wireframe rendering through polygon-based rendering, to more advanced techniques such as: scanline rendering, ray tracing, or radiosity. In general, different methods are better suited for either photo-realistic rendering, or real-time rendering.

In real-time rendering, the goal is to show as much information as possible as the eye can process in a 30th of a second (or one frame, in the case of 30 frame-per-second animation). The goal here is primarily speed and not photo-realism. In fact, here exploitations are made in the way the eye ‘perceives’ the world, and thus the final image presented is not necessarily that of the real-world, but one which the eye can closely associate to. This is the basic method employed in games, interactive worlds, VRML. The rapid increase in computer processing power has allowed a progressively higher degree of realism even for real-time rendering, including techniques such as HDR rendering. Real-time rendering is often polygonal and aided by the computer’s GPU.

 

An example of a ray-traced image that typically takes seconds or minutes to render. The photo-realism is apparent.

 

An example of a ray-traced image that typically takes seconds or minutes to render. The photo-realism is apparent.

When the goal is photo-realism, techniques are employed such as ray tracing or radiosity. Rendering often takes of the order of seconds or sometimes even days (for a single image/frame). This is the basic method employed in digital media and artistic works, etc.

Rendering software may simulate such visual effects as lens flares, depth of field or motion blur. These are attempts to simulate visual phenomena resulting from the optical characteristics of cameras and of the human eye. These effects can lend an element of realism to a scene, even if the effect is merely a simulated artifact of a camera.

Techniques have been developed for the purpose of simulating other naturally-occurring effects, such as the interaction of light with various forms of matter. Examples of such techniques include particle systems (which can simulate rain, smoke, or fire), volumetric sampling (to simulate fog, dust and other spatial atmospheric effects), caustics (to simulate light focusing by uneven light-refracting surfaces, such as the light ripples seen on the bottom of a swimming pool), and subsurface scattering (to simulate light reflecting inside the volumes of solid objects such as human skin).

The rendering process is computationally expensive, given the complex variety of physical processes being simulated. Computer processing power has increased rapidly over the years, allowing for a progressively higher degree of realistic rendering. Film studios that produce computer-generated animations typically make use of a render farm to generate images in a timely manner. However, falling hardware costs mean that it is entirely possible to create small amounts of 3D animation on a home computer system.

The output of the renderer is often used as only one small part of a completed motion-picture scene. Many layers of material may be rendered separately and integrated into the final shot using compositing software.

Renderers

Although renderers are usually included in 3D software packages, many renderers are offerred as plugins, including

Projection

 

Perspective Projection

 

Perspective Projection

The mathematical model represented inside the computer must be transformed back so that the human eye can correlate the image to a realistic one. But the fact that the display device - namely a monitor - can display only two dimensions means that this mathematical model must be transferred to a two-dimensional image. Often this is done using projection; mostly using perspective projection. The basic idea behind the perspective projection, which unsurprisingly is the way the human eye works, is that objects that are further away are smaller in relation to those that are closer to the eye. Thus, to collapse the third dimension onto a screen, a corresponding operation is carried out to remove it - in this case, a division operation.

Orthographic projection is used mainly in CAD or CAM applications where scientific modelling requires precise measurements and preservation of the third dimension.

Reflection and shading models

Modern 3D computer graphics rely heavily on a simplified reflection model called Phong reflection model (not to be confused with Phong shading).

In refraction of light, an important concept is the refractive index. In most 3D programming implementations, the term for this value is “index of refraction,” usually abbreviated “IOR.”

Popular reflection rendering techniques in 3D computer graphics include:

  • Flat shading: A technique that shades each polygon of an object based on the polygon’s “normal” and the position and intensity of a light source.
  • Gouraud shading: Invented by H. Gouraud in 1971, a fast and resource-conscious vertex shading technique used to simulate smoothly shaded surfaces.
  • Texture mapping: A technique for simulating a large amount of surface detail by mapping images (textures) onto polygons.
  • Phong shading: Invented by Bui Tuong Phong, used to simulate specular highlights and smooth shaded surfaces.
  • Bump mapping: Invented by Jim Blinn, a normal-perturbation technique used to simulate wrinkled surfaces.
  • Cel shading: A technique used to imitate the look of hand-drawn animation.

3D graphics APIs

3D graphics have become so popular, particularly in computer games, that specialized APIs (application programming interfaces) have been created to ease the processes in all stages of computer graphics generation. These APIs have also proved vital to computer graphics hardware manufacturers, as they provide a way for programmers to access the hardware in an abstract way, while still taking advantage of the special hardware of this-or-that graphics card.

These APIs for 3D computer graphics are particularly popular:

There are also higher-level 3D scene-graph APIs which provide additional functionality on top of the lower-level rendering API. Such libraries under active development include:

This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article “3D animation“.

Popularity: 54% [?]

Be the First One to Tell this Story to others:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • blinkbits
  • BlinkList
  • blogmarks
  • co.mments
  • connotea
  • del.icio.us
  • De.lirio.us
  • digg
  • Fark
  • feedmelinks
  • Furl
  • LinkaGoGo
  • Ma.gnolia
  • NewsVine
  • Netvouz
  • RawSugar
  • Reddit
  • scuttle
  • Shadows
  • Simpy
  • Smarking
  • Spurl
  • TailRank
  • Wists
  • YahooMyWeb