Building an Interactive 3D Animation System

Gobbetti E, Balaguer JF, Mangili A, Turner R

In Meyer B, Nerson JM (Ed.) Object-Oriented Applications. Prentice-Hall, 1993


Introduction

The continued improvement and proliferation of graphics hardware for workstations and personal computers has brought increasing prominence to a newer style of software application program. This style relies on fast, high quality graphics displays coupled with expressive input devices to achieve real-time animation and direct-manipulation interaction metaphors. Such applications impose a rather different conceptual approach, on both the user and the programmer, than more traditional software. The application program can be thought of increasingly as a virtual machine, with a tangible two or three dimensional appearance, behavior and tactile response. Dynamic graphics techniques are now considered essential for making computers easier to use, and interactive and graphical interfaces that allow the presentation and the direct manipulation of information in a pictorial form is now an important part of most of modern graphics software tools. The range of applications that benefit from this techniques is wide: from two-dimensional user interfaces popularized by desktop computers like Apple's Macintosh or the NeXT machine, to CAD and animation systems that allow the creation, manipulation and animation of complex three-dimensional models for purposes of scientific visualization or commercial animation. Future possibilities include the latest virtual environment research that permits an even more intuitive way of working with computers by including the user in a synthetic environment and letting him interact with autonomous entities, thanks to the use of the latest high-speed workstations and devices. In this chapter we will present the design and implementation of an interactive key-frame animation system based on these dynamic graphics techniques. Key-frame animation is the standard technique used to generate most current commercial computer animation. In its simplest form, key-framing consists of placing the 3D objects to be animated in successive key positions and then interpolating some form of spline to generate a smooth motion. One major problem with building key-frame animation systems is that it is difficult to make them easy to interact with and control. We therefore set as a primary goal of this project the achievement of a direct manipulation system in which the user would at all times be able to see, move around within and interact with the animation environment in real time.

[PostScript]