The Dragon Editor

Dragon Developer's Brief

Smiling DragonFigure 1

An Animator's Perspective

by Goesta Struve-Dencher

have comments or questions.

Dragon is an advanced free-form modelling and animation system for 3D character animation and related applications, written for the Silicon Graphics workstation platform. Based on a radical reconception of smooth-skinned surfaces and their movement, Dragon provides intuitive sculptural control over complex shapes both during design and subsequent animation.

Figure 2

Due to the unique hierarchical organization of both surface and motion data, generic templates can be used to accelerate the development of custom characters and animations without sacrificing individuality and functionality. Unlike polygonal models scanned from real world data, Dragon's surfaces remain completely flexible and editable, resulting in an expressive range traditionally un-achievable with a single continuous model. Moreover, libraries for both joint motion and skin deformation can be transferred between characters with similar morphology and blended with local actions and expressions.

While Dragon's surface model is based on B-splines, its hierarchical data structure achieves hitherto unequalled data optimization by minimizing the number of vertices defining a complex patch. The surface in Figure 1 would require over 21,000 control vertices if defined as a traditional B-spline surface. As a hierarchical spline, it requires only 505! These models are easily transferred between Dragon and other animation systems supporting either bicubic B-spline patches or polygonal surfaces. Thus, apart from being developed as a stand-alone animation system, Dragon is already being used to create databases of character expressions for use in Softimage animations, and facial models based on scanned bone data for experimental forensic reconstruction.

Hilarious Face Figure 3

The State of the Art

Commercially available animation systems use a "traditional" modelling paradigm developed for the design of rigid architectural or mechanical objects. In character animation, this basic limitation is problematic. Complex continuous surfaces with fine local detail, such as a head with eyes, eyelashes, lips and nostrils, are difficult to model. Polygonal systems require point by point manipulation, making 3D scanning the only viable means of input, and further manipulation of the digital model impractical. Patch modelers force the artist either to work from a primitive such as a sphere, whose complexity escalates across the entire surface with every additional detail, or to specify a set of contours for skinning or trimming surfaces, which further sacrifices intuitive modelling, surface continuity, and subsequent control over animation and object shape. Metaball editors provide attractive, "blobby" shapes, whose lack of surface integrity during animation however renders them inadequate for simulating skin.

Disgusted Expression Figure 4

Current animation tools also suffer from a restrictive linear approach. While the animation of a believable character involves many layers of movement and expression, this can only be approximated on the available systems by combining disparate animation techniques, such as free-form deformation and shape interpolation, on a single model; this process is often impeded by undesirable and unpredictable conflicts. Moreover, any conception of motion libraries is usually limited to a linear averaging of interpolated shapes for the entire object. Hence computer-animated speech, for instance, looks and feels boring and mechanical, as well as being costly to model.

Today's commercial animation systems provide reasonably practical, but heterogenous, badly integrated, and feature-specific tools to offset basic shortcomings in the core design paradigm. As a result, each new production problem facing the animator requires specific software patches, fragmenting the system further and making any fundamental evolution of the software less feasible. Consequently it is unlikely that any of the current reigning animation systems will integrate functionality similar to that of Dragon in the near future.

Figure 5

Figure 6

The Dragon Editor Concept

Dragon is a special purpose modelling and animation system intended to be used in conjunction with an existing animation system.

Dragon redefines 3D modelling and animation of smooth surfaces from the character-animator's perspective. Its hierarchical B-spline surface modeler emphasizes both a powerful, sculptural object creation process, and precise, subtle control over the properties of skin in motion, such as complex, layered facial expressions.

Other character animation systems rely either on a a set of tools to impose manual deformations onto an arbitrary surface, or on extensive mathematical simulations which are limited in expression and hard to control. In other words, in situations where surface flexibility is crucial, the model, its complexity, resolution and construction process, are often at odds with the available deformation tools and the desired motion. Dragon on the other hand is based on a new creative paradigm which posits that the modelling and animation processes are inseparable. Its fundamental modelling metaphor is the skin of a living organism, a smooth continuous surface of variable regional complexity, attached to an underlying skeleton and subject to movement and deformation on arbitrary levels of definition. Consequently, Dragon's basic functionality is both tightly integrated and generically applicable.

Hierarchical Modelling

In Dragon, the animator chooses a patch geometry on which to base the planned model. An experimental surface fitting process to approximate imported polygonal geometry, as well as a routine to generate a hierarchical model from a regular B-spline patch, are also under development. In contrast to other modelers, the patch primitive does not have to approximate the final shape; the intention is merely to choose an appropriate topology for the object's skin. In the case of a character, the animator may select a cylinder or torus.

Modelling becomes a sculptural process of successive approximation and vertex placement. The animator can arbitrarily add detail to subsections of the surface while maintaining complete skin continuity (Figure 5 & Figure 6). Since information is added only to the required areas, surface data is minimized. Hierarchies of detail are established, and changes are recorded relative to the coarser levels. Since the entire hierarchical structure remains with the model and is accessible at any time, global changes to the shape can be made even after the addition of surface detail, by accessing a previous layer (Figure 7 & Figure 8). Since the entire construction process is thus recorded in the model, any random action in the past can be undone. Additionally, control points on lower levels will be used in the animation to manipulate any desired area of the surface. These points in effect act as a multi-resolution deformation mesh accurately fitted to the objects topology.

The animator is thus freed from two important constraints inherent in previous systems: the inability to add local detail without increasing the resolution of the entire object, and the absence of precise, naturalistic control over arbitrary areas of complex meshes. In Dragon, broad scale changes in surface shape can be made without unpredictably affecting local detail (Figure 8). Thus the animator can alter and animate the surface at the appropriate resolution (Figure 9), and does not have to worry about re-defining the fine-scale details (Figure 10).

Manipulation of Hierarchical SurfaceFigure 7

Figure 8

The intuitive, sculptural nature of the modelling process is further enhanced by complete support for stereoscopic displays.

Hierarchical Parametric Animation

The topology of the constructed object contains all the control data necessary to manipulate it in motion; therefore, awkward and inaccurate tools such as control grids become unnecessary.

While muscular and skin movement is simply but convincingly animated using surface deformation, skeletal motion is effected by attaching the skin to a joint structure created by the animator. Optionally, polygonal bone meshes can replace the abstract joint solid both as a modelling template and as an explicit element of the model, such as teeth and eyeballs. These joint segments need not be connected realistically, so that, for instance, while creating a segment for jaw rotation, the animator may wish to attach an animals ears or loose folds of skin to joints as well (Figure 9). These can either be animated by hand, or made to follow the body's motion automatically using dynamic simulation, for secondary animation effects.

Figure 9

Figure 10

As in the modelling process, hierarchies are essential to the effectiveness of Dragon's animation process. Animations are groups of local actions which themselves can be occurring simultaneously on several layers of the model. These groups can in turn be recombined in different ways. A blink of an eyelid may thus be merged with a twitch of the cheek or eyebrow, a phoneme with a smile or frown, the bending of an arm with creasing at the elbow. While previously, entire new heads had to be created for each phoneme spoken in a different mood, Dragon permits the combination of libraries of basic actions with new custom expressions at any time. Of course, the flexibility and detail possible with Dragon's skin model provides the basis for an impressive evolution in animation quality to begin with.

Creating Hierarchical Surfaces from Digitized Data

Hierarchical surfaces can be created interactively or by converting polygonal or b-spline data into the h-spline format Figure_11 shows the surface approximation process applied to data obtained from a Cyberware scan (Figure_11i). Parts i through f show the multiple levels of resolution in the resulting hierarchical spline surface. Figure_11h shows the result of moving 3 control points at level 1 to create a smile.

Figure 11

Hierarchical Surfaces for Arbitrary Topology

One major drawback to using parametric spline surfaces is the difficulty of attaching surfaces together at locations other than iso-parametric lines. Ed Catmull and Jim Clark in 1974 generalized bicubic b-splines to control meshes of arbitrary topology (the control mesh doesn't have to be made up of just quadrilaterals). These subdivision surfaces have the wonderful property that where the control mesh is rectangular, the surface in that region is a regular old bicubic b-spline and this allows a hierarchical form to create surface of arbitrary topology. For example, the hand in Figure 12 is composed of 5 cylinders, one for the palm and thumb and 4 for the fingers.

Figure 12


Dragon's essential strength from the user's point of view lies in the powerful simplicity of its core design. A small set of commands provides all the tools necessary for modelling and deforming any object. Hierarchical action libraries make highly efficient use of every motion. Most importantly, the complete integration of modelling and animation, not just in a single program module but as a design philosophy, represents a remarkable shift in the role of the animator, through the return of creative control and the restoration of a unified imaginative process. The practical result of Dragon's innovations is elevating the quality of high-end character animation and thereby redefining the competitive leading edge.

Summary of Features

Local detail B-spline surfaces
Multi-resolution editing
Maintains integrity of detail during broad-scale changes
Economical representation
Direct surface manipulation, no control meshes!
Skeletal animation
Multi-target multi-resolution animation
Parametric animation
Reusable motions/expressions
Precise surface manipulation without control meshes
Imports polygonal models for templates and objects such as teeth etc., as well as Vertigo script files
Exports polygons with texture coordinates, SoftImage B-spline format, Vertigo polygon files
Supports stereo display

Other Pictures