This article was printed in the 1998 siggraph issue
of 3D Design magazine, for an article Alex Alvarez wrote entitled 'Organic Modeling and Animation in Maya V.1',
Alex is director and instructor at Gnomon Training Center, a HIGHEND3D.COM strategic partner. Alex teaches advanced
acharacter nimation classes covering these techniques and many more at Gnomon. I have learned a great deal from his
animation classes and highly recommend anyone interested in character animation to take his classes.
click on the images below for captions and larger size.
Over the past three years Alias|Wavefront has developed a flexible, intuitive and powerful package for high-res character development and effects for film. While the inflated pricing may seem daunting---almost $50k for all modules---there is no question that the software is amazing. While there are not necessarily an incredible number of new technologies within the software, as it is mostly based upon Power-Animator, Dynamation, and Kinemation, the integration of several pre-existing technologies with complete optimization for current hardware is a substantial feat.
As a character designer and animator, I have struggled for the past five years with software which kept me from incorporating the spontaneaity and expression possible with traditional media. Due to software and hardware constraints, the production pipeline for high-res film bound characters has been forced to rely on several techniques which slowed productivity and restricted less technical artists from feeling comfortable with the tools. The need to use multiple packages, namely Alias for modeling, SoftImage for Inverse Kinematics, Dynamation for particles and soft bodies, Renderman for rendering, and a slew of proprietary software, is a testament to the limitations to each part of the pipeline, and how expensive that pipeline is.
Maya may change everything, because it can do everything. That is, everything that we have been able to do to this point, but in a single working environment. Aside from the impressive flexibility is the performance. Maya is a substantial leap over the previous norm. Maya performs faster on an o2 than PowerAnimator on an Octane MXI. While one high-res character was enough to choke PowerAnimator, thus necessitating multiple low-res project files to animate different body parts, Maya can handle several detailed characters, in a rich environment, shaded, with 50mb of textures displayed, with interactive lighting, and realtime deformations.
In this three part article I will be covering the workflow for modeling and animating Lanker, a seamless NURBs character, including body and facial set-up and animation. While it is hard to tell from screen shots exactly what kind of performance I am getting, on a r5k o2 all manipulation discussed occurs shaded, in realtime, or very close to it.
Organic Modeling for Animation
With the combination of Maya?s default deformation tools and the Artisan module, organic modeling workflow has substantially improved in both performance and intuitiveness. With PowerAnimator, the main tools for such work were Pick CV (Control Vertex) and Xform (Transform) Move. And that was pretty much it. With Maya, we now have easily editable Clusters, Lattices, Sculpts, Wires, Wrinkles, Intuitive Manipulators, and with Artisan, tablet driven sculpting, smoothing, vertex selection, deformer weight painting, and soft body goal weight painting. This is quite a new set of tools. The observation you will make, however, is that I will still use mostly Pick CV and Xform Move in the first stages. With the base geometry built this way, I will then move on to deformation based tools, or Deformers, to intuitively construct morph, or BlendShape, targets.
Figure One
The first and most important step involved in building a character is design and the preparation of orthographic drawings. Figure One shows the Image planes imported into the front and side cameras in Maya. The main thing to point out is that I am working off of only front and side drawings, due to the fact that the arms are at the character's side. I decided to model him with his arms down, just to make sure that his shoulder region looked exactly as I desired a more common, neutral position.
With the orthos, or image planes, loaded into my front and side views, it is time to begin modeling. The first step is to place half a sphere into the side view with the poles at the top of the head and bottom of the pelvis. What we are going to do is model the entire head (including eyelids, nose, ears, mouth), neck, torso and pelvis out of a single half sphere. When modeling any humanoid form, this is the way to go, especially for the head. Any other technique can seriously slow things down, maybe not while modeling, but definitely down the road when setting up deformations or sculpting morph targets for facial animation. When this geometry is complete, we will then attach arms and legs with the Fillet Blend tool.
Figure Two
With the sphere in place, we now want to shape it to match the general forms of the Image Planes, starting first with the side view. A feature of Maya which makes this and many other common tasks more intuitive are the new manipulators for modifying objects. When an object is selected, as in Figure Two, with a translational tool, either move, rotate or scale, a manipulator appears which allows for intuive freeform or axis constrained editing. For objects or surfaces, this manipulator appears at their Pivot Points, but for Components, the manipulator appears at the center of the selecting vertices or hulls. This allows for editing in the Perspective window which was before only possible in orthographic views.
Figure Three
The default primitive sphere we placed over the image plane was created with eight vertical and four horizontal spans. Step one involves inserting enough horizontal isoparms to match the drawing, without including any areas of tight sudden changes in curvature. If the entire figure were, for example, six feet tall, you wouldn?t want to get any horizontal isoparms which are closer than one inch apart for the head and three inches for the torso. Using the Insert Isoparm tool and the Move tool, in the side view, place the hulls (rows of vertices) so that the Move manipulator is centered horizontally with the corresponding area of the drawing. Then switching to the Scale Manipulator, scaling the hull to match the design. An important note with the Scale Manip is to constrain the scaling to the Z direction. Not doing this will cause the selected vertices to also scale across the YZ plane, which will cause problems in mirror copying. Once the side view has been filled out, the same process is done in the front view. It is important for future ease of manipulation to try and keep the hulls as 'vertical' and 'horizontal' as possible; wavyness will make the wireframe very difficult to read and edit later. Figure 3 shows the various stages the model will go through while executing the these techniques.
With the basic forms filled in, it is now important to decide exactly how we want the curvature of the surface to flow. Trying to follow anatomical muscle flow can be difficult, but remember than many details can be added via bump and displacement maps later. The main problem is trying to get surfaces to deform diagonal to their parameterization. Thus at this point it is good to try to sculpt the still simple surface so that its isoparms, or surface curves, follow the flow of form in the design. For example, in the neck/shoulder area, muscles move from the back of the skull to end of the collar bone, and from behind the ear to the beginning of the collar bone. The Artisan module of Maya can make this process substantially quicker, especially later on when the geometry becomes more dense.
Figure Four
Figure Five
The Sculpt Surfaces aspect to Artisan allows you to push, pull or smooth surfaces via tablet driven input. As with pressure sensitive application in 2d Paint packages, a Stamp Shape is selected which determines the shape of the area of the surface which will be selected and edited in a single stroke. The Radius and Magnitude of effect is controlled by pressure, while the artist can move vertices in the directions of their normals, the global axes, or along the U and V directions of the surface as shown in Figure 4. This interface for editing vertices is powerful, maintaining near real-time interactivity while working on complex models. Figure 5 shows the effects of experimenting with Artisan for a couple hours.
Figure Six
Figure Seven
Figure Eight
Figure Nine
With the basic shape finished (Figure 6), we can begin adding details trying to first concentrate on horizontal curvature. If a vertical isoparm is inserted while working on the head, the new isoparm flows all the way down to the bottom of the pelvis. Thus by begining work horizontally, we can work our way gradually down the body. When we finally need to insert vertical isoparms, say to tuck the edges of the nostrils, it is a good idea to look around the surface to see if the new isoparm could help shape another region as well. This method keeps balance and fluidity of form while working on the model. Figure 7 shows the head geometry at the end of this phase, having a mirror copy displayed as well. The final model of the eye was put in place prior to doing any work in the eye region to act as a reference for the lids. Figure 8 shows a closeup of the eye region and how the lids were sculpted, with the eye invisible. Regions which pinch such as the corners of the eyes and mouth can be tricky due to the close proximity of isoparms that need to be inserted. Wrinkles can easily pop up, so always check your hulls to make sure they don?t cross each other. Hulls are the lines which do not lie on the surface, drawn between the surface?s vertices. They can be displayed using Display/NurbsComponents/Hulls. However, the wrinkle problem is easily fixed with Artisan, using Sculpt Surfaces/Smooth. This mode spreads apart isoparms, literally smoothing out the selected area. The mouth was handled by pushing a 'cave' in through the lips, creating relatively accurate lip and cheek thickness. The gums, teeth and tongue in Figure 9 were then sculpted as completely separate geometry using Revolve for the teeth and Loft for the Gums and Tongue.
Now, you can attach a mirror copy to our head/torso surface, remembering to attach at both the front and back of the geometry. First, make sure to check the surface for any areas that may have accidentally been moved across the YZ plane. Simply selecting the interior edge hull and 'Grid snapping' it to the YZ plane will work. After mirroring the surface, we could add asymmetrical details to the torso such as musculature, for example. However, with this model I chose to do this primarily via bump maps. Next, I detached the surface at an isoparm located near the collar bone to give the model a shirt and manipulated the top hull of the detached torso geometry to give it some thickness over the skin.
Figure Ten
With the head/torso geometry complete, it is time to sculpt an arm and a leg, each out of a primitive cylinder. The hand will be done separately, built from a primitive sphere for the palm and revolved surfaces for the fingers. The same sculpting techniques as mentioned above apply, but now we need to consider the areas where the arms and legs attach to the torso, and where the fingers attach to the palm. Since we are going to use the Fillet Blend tool to attach them, we can ensure good results by modeling the surfaces almost on top of each other, so that they have a visually implied continuity. When this is accomplished, we can Trim, or cut away, regions of the torso within which we will create new surfaces using Fillet Blend. This type of geometry is solely based on the two surfaces it is blending between, thus the reason for modeling the hip areas of both the torso and leg surfaces so that they flow into each other. When creating our curves on surface in preparation for Trimming, a nice new feature is the ability to make a surface 'Live' using Modify/MakeLive which allows us to intuitively draw curves directly on the surface in the perspective window. In Figure 10 the untrimmed, trimmed, and blended phases of arm and leg attachments are displayed.
Figure Eleven
With the base model complete, texture mapping followed. This was accomplished using StudioPaint3d and Adobe Photoshop. Figure 11 shows Lanker with his textures displayed in Maya, standing in an arena modeled with PowerAnimator. Due to the software's optimization for the o2's architecture, complex scenes can be manipulated with up to fifty megs of textures displayed--- the most I've tried, or needed, so far.
Preparing for facial animation
With the neutral head and figure complete, we are ready to begin using Maya's new Deformers to sculpt several morph targets for the head. The only aspects above the collar bone which will be skeleton driven are head and neck rotation. The rest will be entirely based upon BlendShape deformations, where the targets are created via Clusters, Sculpts, Lattices, Wires, Wrinkles and Artisan.
Figure Twelve
Clusters, or sets of vertices, are the only deformers which existed in PowerAnimator, and their functionality remains the same in Maya. The differences are found in editing their vertex membership and weighting. Each vertex in a cluster set has an assigned weight, being the percentage of the cluster's movement that the member will inherit. A weight of .5 means that if the cluster moves ten units, the member will move five units. Again Artisan comes into the picture for two of its tools; Paint Select Vertices, and Paint Weights. Artisan allows you to use its brushes to interactively select/deselect vertices in the perspective view. With a complex selection of vertices made, Artisan also allows you to ?save? this selection, as in Photoshop, for future use. Once vertices have been selected they can then be turned into a Cluster, which will by default give each member a weight of one. Then by selecting the vertex members of the cluster, you can activate the Paint Weights tool to interactively paint, in grayscale, directly on the surface a map; the values will determine the weight of the corresponding vertex. This grayscale map can be used for other purposes as well, as you are literally painting an image map than can be saved and loaded to or from disk. In addition, you can import an image such as a checker pattern or gradient and use it as a cluster weighting map via Artisan. Figure 12 shows an example of a cluster that would take a long time to set weights for without Artisan, but with Artisan took about a minute.
Figure Thirteen
Sculpt deformers allow for the interactive massing of form via spherical objects which can be moved, rotated and scaled. These deformers can be placed on selected vertices, individual surfaces, or onto multiple surfaces. There are three types of Sculpts--- Stretch, Project and Flip--- all of which have animatable controls for dropoff and magnitude. Stretch, the default, deforms the surface based on the relative position of the Sculpt object and a 'Locator' object, whose purpose is to define the origin of the deformation. Flip mode, which I use most often, causes the geometry to be attracted or repelled by the the Sculpt object based on the shape, rotation or position of the deformer. Figure 13 shows several variations of Lanker's head created in under ten minutes using Flip mode Sculpt deformers. The main problem I've run into is hard edges at the edge of the Sculpt deformation, but this is very quickly remedied using Artisan's Smooth mode as described eariler. The tightly packed isoparms creating the hard edge can be spread apart smoothly using a pressure sensative drawing tablet.
Figure Fourteen
Figure Fifteen
Lattice deformations, like Sculpts, can be added to either components or objects. If placed on multiple surfaces, shared edges will maintain their appropriate relationships as long as the entire seam is a member to the deformer. The main benefit of Lattices is the ease with which we can change the overall shape of a dense area by manipulating only a few Lattice Points. Furthermore, Maya allows us to place deformers upon deformers, meaning that we can add a Sculpt to a Lattice which itself was added to a Lattice whose edit points may be members of a Cluster. Figure 14 shows an example of using a combination of Lattices to completely change the head. First a Lattice was added to the mouth region to reshape it. Then a Lattice was added to the entire surface to tweak its overall shape some more. Finally, another, less subdivided, Lattice was added to the larger Lattice to reshape things again. Figure 15 shows the result of placing Lattices and Sculpts onto multiple surfaces, giving Lanker a few extra pounds without breaking our seams. Again, edges will not separate as long as the deformer was added to both surfaces which share the edge.
Figure Sixteen
Wire deformers allow us to sculpt surfaces using curves as the source of deformation. These curves offer complete control over strength, enveloping, dropoff, and crossover effects, which occur when wires cross. Furthermore, multiple Wire Dropoff Locators can be positioned any where along the curve to create varying effects. Wrinkle deformers offer some preset controls for creating large numbers of wires which can be created tangentially or radially, branching out from a region of the deforming surface. The most useful technique for creating curves to use as wires or wrinkles is to select the desired surface and make it 'Live' using Modify/MakeLive, allowing us to draw a curve directly onto the surface. This 'Curve on Surface' should then be duplicated using Curves/Duplicate Curve to create a free, standalone curve. Curves on Surface as wires are of little use, as you will not be able to deform the surface in any direction other than U or V; but our duplicated curve will work fine. You may want to move it a small amount away from the surface before turning it into a Wire, just to make it easier to see. Figure 16 shows a combination of Wires, Wrinkles, Clusters and Dropoff Locators.
Conclusion
Figure Seventeen
The combination of Maya's deformation tools illustrated in this tutorial allows for a quick and intuitive modeling process. Figure 17 shows all the targets which I sculpted for the head, focusing on major muscle groups, such as the currogator, frontalis, triangularis, and so on. Using BlendShape, we will be able to merge these targets to create slider driven expressions, such as happy and sad, and phomenes such as 'oo' and 'ah'.
Part two of this article will focus on skeletons, forward/inverse kinematics, expressions, and custom object attributes. The series will conclude in part three with skeleton-driven surface deformations and animation techniques including advanced constraint keyframing, facial animation and sound synchronization.
Author: sdb1987
Submitted: 2005-09-20 22:23:15 UTC
Tags:
Software: Maya
Views: 33,276
Related Items
-
JPose and Animation Tool for Maya 1.2.2 (maya script)
$20.00 (USD) -
BMX RIDER Rigged with bmx and animation 3D Model
$15.00 (USD) -
Tire and Rim 3D Model
$9.00 (USD) -
Polygon Modeling Assistant for Maya 4.6.3 (maya script)
$30.00 (USD) -
Universal IK FK Switch and Match Tool (PRO) 3.1.0 for Maya (maya script)
$25.00 (USD) -
Organic Object 3D Model
$49.00 (USD) -
Dinning chair and table 3D Model
$20.00 (USD) -
Quick and dirty medium/low res 45. Smith and Wesson handgun 3D Model
$25.00 (USD) -
House cutaway two floor 3D Model
$100.00 (USD)