Animating Digital Video
Posted Oct 29, 2003

Deck: Leonardo da Vinci needed a detailed understanding of anatomy to create his Vitruvian Man. Today, filmmakers and post-production pros only need 3D animation software to create characters and objects that are far more complex.

When I was growing up, filming a roundup meant taking camera and crew out to a hot, dusty corral and watching cattle walking leisurely around in circles. Today, an overworked, behind-schedule filmmaker would sit in an air-conditioned studio in front of six computers and create an animated sequence of life-like cows walking in perfect Bezier circles. This roundup will serve as the preamble to a new EMedia column called 3D Space. In it, we'll examine some of the tools that our harried filmmaker or post-producer (you?) might use.

This roundup will introduce some of the key 3D and 2D animation tools that target the desktop post-production market and will suggest how those tools integrate with your digital video editing workflow. Since our interest is specifically how these tools can assist corporate and commercial digital video work, the article does not cover CAD, Web, or multimedia authoring tools. Nor does it discuss Non-Linear Editors (NLE), although these tools' ability to interact with NLEs is a keynote of our discussion.

Our target products would allow real-time previewing, without making you wait while they render each change. They should be particle-based, have a wide range and choice of effects, be easy enough to use that you can implement their signature features without dedicating your career to mastering them, allow rotoscoping, masking, and matte features, and should output to formats such as DV, AVI, QuickTime, or other files that an NLE (like Premiere, Final Cut, Edition, Vegas, Xpress DV, or Media Studio Pro) can import.

One of our criteria was price. We eliminated the low-end products that would not meet corporate needs, and meant to limit the high end to fit into the budget of someone who spent under $1000 on his or her primary editing tool, with possibly another $700 on a dedicated board. Ultimately, however, we have included a few high-end products because of their popularity and capabilities.

Introducing 3D/Animation
Almost any professional video production—and lots of enthusiast productions, too—use animation in some form, be it a spinning logo, a swooping title, or an animated menu. To do so with any reasonable degree of sophistication, you need an animation tool or plug-in that treats 2D/3D elements as objects (that can be moved and manipulated over time), with behaviors (what those objects can do over time), and textures (the "skin" that covers them and makes a given shape look like a real-world object; textures can be colors, images, or even videos). The program should also allow video producers a wide range of options for creating and managing these objects without requiring they become experts in 3D design, spline-based construction, or CAD.

However, our ideal program should import (and perhaps export) CAD drawings, as well as other popular drawing and animation formats. Many of the programs that we will cover here export scenes—complete with images, objects, surfaces, and animation—as Macromedia Shockwave files. These can be posted to the Web or integrated into Macromedia Director as Cast Members, combining your content with the interactive functionality of Director. Many also export to QuickTime Virtual Reality—a special version of QuickTime movie that lets a user view a 3D object from any angle, using the mouse to control the point of view.

Since what these programs do is complex, all require some investment of time to learn their features. Like NLEs (but to a greater extent), they also require learning a vocabulary that will be largely new to the non-initiate. Consequently, most of the products' Web sites offer tutorials. Those tutorials can give you some feel for the product and its capabilities even before you download the trial version. Whether you're buying or window-shopping, we urge you to visit each company's Web site to see some amazing creations and animations.

In the following discussion, we will often illustrate a point by citing a particular feature of one of the programs in the Sidebar (see Page 5). Whenever we do so, please recognize that all of these programs are complex, powerful programs, and that any of them may execute the function we're discussing in a way that you would find useful.

Some 3D Basics
A three-dimensional scene tries to show objects the way the human eye would perceive them. Unlike a flat two-dimensional image, a 3D composition creates a sense of depth and space. By scaling objects using mathematical algorithms, those objects appear as if they are receding into what artists call "vanishing points." This "geometric perspective" makes it easier for the viewer to comprehend scales and distances between objects.

Light and color also create the illusion of depth. The farther away an object is, the less intense its colors appear.

Most 3D/Animation programs represent space by displaying objects on a three-dimensional coordinate system, with three "axes" or planes. The x-axis usually represents length, the y-axis height, and the z-axis depth.

Most of the programs covered here (see "The Animators…in Brief" sidebar, page 5) divide their screens into "viewports." Each viewport faces one of the three axes, while a fourth usually shows your work in 3D perspective. As you work, you can move from one viewport to another. You can begin drawing a curve in one viewport, switch to a second, and watch your changes take place in the perspective viewport.

Most of programs featured here (again, see sidebar) use either D3D or OpenGL display modes. The D3D (short for Direct3D) display mode allows you to see a preview of your objects, with lighting and textures, in real time, as you make changes, without taking time to "render" your scene. Most 3D accelerator cards support Direct3D.

OpenGL is a similar standard and accomplishes the same task. Your video card and its drivers will determine which mode you should use.

NURBS, Splines, and Primitives
You generally begin by modeling, or creating your animation's actual "assets." These are the objects that you will animate later.

Unlike basic drawing programs that simply light the pixel under your mouse in the color you have chosen, most 3D/Animation programs use mathematical equations to draw, scale, and move objects precisely on the screen. There are several systems.

Non-Uniform Rational B-Splines (NURBS) are mathematical representations that can accurately define any shape—from a simple 2D line, circle, arc, or box to a complex 3D surface or solid. NURBS curves are made up of control points connected by splines (lines that follow the "natural" curves that you would get if you, say, bent a thin piece of wood). Each control point has two handles that determine how smooth or sharp the corner made by the control point will be. The handles exert a pull on the splines almost like a gravitational effect. Because of their flexibility and accuracy, NURBS models can be used in any process from illustration and animation to manufacturing. Rhino, for example, says that its NURBS curves can design products with the accuracy of traditional CAD programs. Its objects are actually free-form NURBS surfaces, rather than line segments or polygon meshes.

Another system uses Bezier curves. When you move a Bezier vertex, the adjacent surface patches follow in a spline-like fashion. You can add and remove vertex points on a Bezier object, and the object reshapes itself around the new vertices.

When working with curves, you draw your object in 2D and then "extrude" it into a 3D object. Although many objects can be built up from 2D curves, sometimes it is more convenient to start from a basic 3D shape and mold it like clay. Most programs introduced here come with a library of 3D shapes, called primitives. These basic building blocks range from simple shapes, like cubes and spheres, to more complex shapes.

Still other systems build objects from a collection of polygons, with each surface an individual polygon. The fewer the number of polygons that make up and object, the more "blocky" the object looks. When you move an object made up of polygons (polygonal vertices), adjacent polygons simply stretch or contract.

Strata 3D, for example, lets you import a 2D image as a 3D Mesh, adjust the number of grid divisions, the density of the mesh, and the height or depth (elevation) of each point to create three-dimensional geometry, say, for landscapes. Save your landscape as either a Bezier or a polygonal mesh.

Most products mentioned also offer metaballs, a set of simple, geometric primitives that you can model and animate. Combine them, and their shapes "flow" into each other. Create metaball objects by adding and subtracting them. For example, you can assign physical attributes, such as mass and elasticity, to trueSpace's metaball primitives. You can even subject them to forces like wind, atmosphere and gravity, so that they collide with each other. In LightWave, you can "bake" a finish onto a metaball to transfer characteristics between objects.

Let There Be…
Everything that we see in real life is either light reflected from surfaces or the absence of that light. So all of the programs reviewed here project specific light sources to create the illusion of form and substance.

Most of these programs let you add different types of light, such as Global, Ambient, Spotlights, and Point Lights. Global lights illuminate the entire model, like sunlight striking the Earth; Ambient is background lighting that fills shadow areas so that details not directly illuminated are still visible; Spotlights shine in one direction only; and Point lights shine in all directions, like a lamp with no shade. Intervening materials may interact with light, such as fog (water vapor) or smoke (particulate matter).

In 3ds max, all lights have "photometric data." Some lighting manufacturers have created "luminaries" (3D models that look like the fixtures you buy in a store), complete with photometric data that describes how each light performs. You can drag their data from the Web into 3ds max and create a light that acts as that light does in the physical world.

During rendering, a computer can account for the interplay of light on the surfaces of your image in several ways. Let's call radiosity the amount of energy leaving a particular point in space at a particular time from a particular place. Scenes without radiosity will generally have direct illumination and shadows, but no inter-reflections. A scene with radiosity accounts for all the light transfer between objects in the scene. Radiosity assumes that all the surfaces in the scene have soft and diffuse reflection, ignoring the direction of light, and tracking only its intensity.

On the other hand, raytracing assumes that all the surfaces in the scene reflect light like a highly polished mirror. Raytracing traces all relevant light transfer in the scene backwards from the eye of the viewer.

Caustics are the effects of light as it passes through an object or reflects off an object, such as when light passes through the water in a swimming pool, creating patterns of light and dark on the bottom of the pool.

The Illusion of Motion
Animations are simply actions that you "script" to take place over time. My first animation was a traditional cartoon "flip book."

Unlike traditional animation techniques (such as cell drawing and stop-motion photography), where one must draw or shoot every frame to simulate motion, computer animation lets you define the points in your timeline (known—as in non-linear video editing—as keyframes) where actions start, stop, or change, and makes the program draw all the in-between frames (called tweens).

You can keyframe movement, rotation, scaling, deformations, camera zooms, visibility (appearing or disappearing), shading, texture attributes, special effects, camera focal length, lighting, changes in or to backgrounds, and more.

Other tools automate the animation of complex objects, such as moving a character's hand to her mouth. Kinematics uses algorithms that define a bone's range of motion (i.e., your elbow joint bends nearly 180º forward) and constraints (your elbow does not bend backwards). Inverse kinematics works from the outmost component back (such as, moving a character's hand to his face and having wrist, arm, and shoulder follow). Forward kinematics lets you set motion "pose to pose" (rotate the shoulder, and then move the arm, the wrist, and the fingers until the hand touches his face). Spline inverse kinematics uses a 2D line, like a spline, with a couple of control points to animate a complex chain of bones, such as a tail or a snake. Finally, keyframe animation lets you grab an object at one keyframe and move it to where you want it to be when the animation reaches a later keyframe.

Rendered Effective
Merriam-Webster's Online Dictionary (www.britannica.com) defines render as "to cause to become." When your scene or object is complete, tell the computer to render your project by performing all the calculations necessary to precisely position all lines, forms, and surfaces; determine and display the interplay of light; and create a 3D object from your model. The more detail in your model, the higher the quality of your 3D image, but the longer the rendering time. Complex rendering of a single scene can take overnight—or longer.

Although you may get the most oohs and ahhs from photo-realistic rendering, most programs offer other, faster modes, too.

Wireframe mode renders only the vertices and meshes that make up your objects and scenes. This is the quickest mode, especially if your graphics card doesn't support D3D or OpenGL. (Working in wireframe while drawing can also speed up your graphic display.)

A cartoon mode displays your work like a simplistic cartoon. Cartoon renderings tend to feature basic colors, with a dominant color as the highlight, and a secondary color as the shadow. Recently, even these non photo-realistic (NPR) modes have grown more complex. For example, LightWave's NPR choices include wireframe, shade, texture, flat-shaded (shows all edges of all polygons), stretch (combines the wireframe and flat-shaded views), wireframe stretch (overlays the wireframe lines with smooth shading, or smooth shade (does not show vertices, but allows you to set many surface settings).

Using an Alpha Channel in your rendering creates transparent overlays. An alpha channel allows you to block out everything in an image except the 3D object, so that you can display your rendered object or animation over a background in a non-linear editor. This would allow, say, your twirling logo to fly across a previously created background. TGA files support Alpha-Channel transparency.

As you create, most programs can display "safe area lines" that show the part of the view that is guaranteed to be visible in your 4:3 or 16:9 video output ("video safe"). These user-specifiable lines can be set on for each view.

Dem Bones
Leonardo studied anatomy to understand how the skeleton defined the body and its ranges of motion. Today, he would use features called "bones" and "kinematics" to create complex animations easily. Bones in animation programs function very much like bones in vertebrates, controlling the movement of surrounding skin and muscle. However, with the bones feature, you first model your character, using any of the methods we introduced earlier, and then insert a skeleton to get natural joints and muscle flex.

Leonardo would have positioned each segment of a character individually. To move a character's arm to his face, he would need to move the shoulder, then the elbow, the wrist, and so on, right down to the individual finger joints.

With Inverse Kinematics, however, you can pull the character's body into poses very much as you would an articulated puppet. For example, you can take a character's finger to its face, and the rest of the arm will follow naturally. In 3ds max, for example, you can create bones, add more joints, and then attach a predefined "IK system" to instantly define that object's range of motion. You can even add fins to the bones to aid in texturing.

In Carrara Studio, just create or import any model, and add bones by clicking where you want articulation points. The program automatically sets bones between those points. trueSpace's Facial Animator even moves facial muscles, so that heads appear to speak, using synthesized speech or your own previously recorded .wav file.

Backbones
Most of the tools discussed here are Windows-based. Although minimum system requirements typically hover around 300mHz and 256MB RAM, 3D rendering is among the most processor-taxing applications around. Realistically, you need to go quite a bit higher—especially for anything resembling real-time performance. Typical recommended system specs: dual Pentium 4 or AMD processor, 1GB RAM, and a 3D graphics accelerator card such as AGP GPUs from NVIDIA, Matrox, or ATI.

It's a similar story for the Mac tools—minimum requirements tend to aim on the low side. However, for fast and stable performance, you'll need a G4 or G5 system—preferably a dual-processor, with plenty of RAM, and a high-end graphics card (ATI makes several Mac-compatible cards).

Another key feature common to most of these tools—and essential to their integration with other post-production tools—is a wide range of import and export formats (visit the manufacturers' Web sites for full details on each program). A typical import roster may include 3DS, DXF, RDS, OBJ, AVI, WMV, MOV, and Adobe Illustrator; for export, most of these tools support Adobe Photoshop, QuickTime, AVI, Real, TGA, GIF, TIFF, and JPEG. Many also output Macromedia Flash files.

Head-'Em Up
This, then, is the world of 3D Space into which we'll dive (metaphorically) in the coming months. Some of the major programs at which we'll look more closely are highlighted in the sidebar.

Many of the products mentioned here share similar features, and, in the sidebar, we have tried to highlight, rather than exhaust, the potential of the programs. Also, let's acknowledge that each program may implement a particular feature in its own way, with its own, targeted definition of "success."

Virtually all products introduced here offer—at minimum—modeling, animation, raytracing, radiosity, text animation, textures, particles, lighting, cameras, and layers. Stay tuned—future issues will render dimensions and details.

SIDEBAR

The Animators… in Brief

Product: Discreet 3ds max 5
Platform(s): Windows
Web Site: www.discreet.com
Price: $3105
2D/3D: 3D
Summary: "A professional-level animation tool, for training projects, marketing videos, or communicating ideas." Films include Final Destination 2 and The Core.

Product: Caligari trueSpace 6.6
Platform(s): Windows
Web Site: www.caligari.com
Price: $595
2D/3D: 3D
Summary: "Solid modeling, animation, and rendering tools for the corporate market in an affordable product, with an intuitive graphical interface." Clients include Rolls-Royce and NASA.

Product: Eovia Carrara Studio 3
Platform(s): Windows/Mac
Web Site: www.eovia.com
Price: $399
2D/3D: 3D
Summary: "3D graphics for modeling, animation, and special effects for the ‘prosumer' (serious hobbyist, educator, student, freelance designer, and creative department of mid-sized businesses)."

Product: Cool 3D Production Studio
Platform(s): Windows
Web Site: www.ulead.com
Price: $129
2D/3D: 3D
Summary: "High-impact tools for animated 3D titles and graphics, featuring preset effects, styles, and 3D objects to produce professional results."

Product: LightWave 3D
Platform(s): Windows/Mac
Web Site: www.newtek.com
Price: $1595
2D/3D: 3D
Summary: "Complete solution for 3D graphics, animation, print, Web, industrial design, architecture, medical imaging, and other 3D needs. Proven in television, film, and games." Credits include Star Trek and Babylon 5.

Product: Alias Maya
Platform(s): Windows/Mac ("Complete" version only)/Linux
Web Site: www.alias.com
Price: $1999 "Complete"; $6999 "Unlimited"
2D/3D: 3D
Summary: "3D animation and visual effects for advanced digital content for film, broadcast, design, visualization, game, and Web design." Credits include Lara Croft: Tomb Raider.

Product: stagetools MovingParts
Platform(s): Windows/Mac
Web Site: www.stagetools.com
Price: $129
2D/3D: 2D
Summary: "Plug-in that animates images over video directly from an NLE's timeline, creating ‘animatics' and moving logos, highlighting action, and pixelating faces." (Also available: Moving Picture and Moving Charts)

Product: WonderTouch particleillusion 3.0
Platform(s): Windows/Mac
Web Site: www.wondertouch.com
Price: $399
2D/3D: 2D
Summary: "Use with the output of any 3D application, video file, or image to apply effects to particles with drag-and-drop ease." Credits include Star Trek Voyager, Final Destination II, Ghost Ship.