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]