|
MODELING A HEAD IN MAYA WITH SUBDIVISION EMULATION Perhaps I should preface this tutorial by
acknowledging that many different methods exist for creating 3D
characters for broadcast. To date, probably the most popular method
has, in my estimation, also been the most complex one - that is,
modeling with the use of NURBS surfaces. In the past, NURBS modeling
was generally credited with many distinct advantages over polygonal
modeling. Specifically, its advocates appreciate the excellent
performance of NURBS geometry in wireframe mode, the ability to
easily modify organic shapes with a minimal number of CVs while
retaining a smooth surface continuity, a virtually infinite degree
of control over the tessellation of the model at rendering time, the
ability to easily add detail to a NURBS surface without changing the
topology of the piece (through the insertion of isoparms at
specified locations), and in some cases an added level of control
over texture application because of the inherent UV directionality
that is associated with NURBS and patch surfaces.
Using the Polygons>Smooth tool, I could
immediately convert this cube into a very rounded, organic shape.
However, once the smooth tool had been invoked, the mesh would
become too dense to modify in any controllable way (unless I were to
de-activate the smoothing node in the object's history, modify the
cube shape, and then apply a new smooth effect). Fortunately, on
page 217 of the Maya Polygonal Modeling manual, Alias/Wavefront
provides Maya users with a very handy mel script which allows
artists to modify a low-poly mesh while a duplicate, smoothed
version interactively updates. Dirk Bialluch has elaborated on this
concept, with a very complete and elegant mel script named Connect
Poly Shape, which can be downloaded from his website. Typically, mel scripts are placed in the
following directory:
Once the Connect Poly Shape mel script has been invoked, an options window will appear that allows the artist to specify smoothing parameters, designate whether the smoothed duplicate will inherit the transforms of the original low-poly mesh, disable the shading of the low-poly mesh, assign the low poly cage and smoothed geometry to different display layers, and even mirror and merge the geometry. Typically, I toggle the Keep Border option off. I also prefer to make the layer containing the smoothed geometry a "reference" layer, so that I can more easily select points on the low-poly cage without inadvertently selecting the smoothed mesh. Simply toggle the Disable Selection option on and the resulting smoothed geometry will be assigned to a non-editable display layer. I may also choose to modify the divisions attribute to either increase or decrease smoothness. Generally, however, it is a good idea to keep the number of divisions to an absolute minimum until it comes time to apply textures or render the scene.
Pressing the Connect Poly Shape button in the options window creates a smoothed duplicate which will update as the low-poly model is manipulated, allowing the artist to create a very smooth, highly tessellated model by modifying only the simple, low-poly "cage."
Since heads are generally symmetrical, I like to create a mirrored instance of the shape (scaled to -1 in the X axis) so that I can work on just one half of the face, while the other half is simultaneously created. Since my original cube was 1 unit large, I translate both the smoothed and low-poly models to the right (positive X) .5 units, so that one side of the models sit along the Z axis at "X=0."
Next, using the insert key, I move the pivot point of the smoothed cube back to the origin (X=0)
Then, I select and delete the interior face of the low-poly cube.
I am now ready to create the mirrored instance copy of the smoothed half, using a negative X scaling. Since the smoothed version of my model was automatically assigned to a reference layer, I will need to click on the layer containing the smoothed geometry (named cpsResult) and select Standard from the drop down menu so that the object can be selected from a camera view. I then duplicate the smoothed model with Edit>Duplicate>Options set as follows:
The result will be a full, shaded, smoothed shape which will
update as I manipulate the low-poly cage.
Now, the actual character modeling process begins. Maya offers a wide range of polygonal modeling tools, but with this setup, I generally use only three tools: namely, the Split Polygon Tool, the Extrude Face tool, and occasionally the Append to Polygon Tool. Although the low-poly mesh will always be quite manageable in wireframe mode, I want to add detail only where it is absolutely necessary to define the shape of the character (which is why I always start building my characters with a cube). It is important to remember that this low-poly mesh will eventually be used to create a wide range of different facial expressions for this character, so keeping the number of points to a minimum will simplify the process of creating these facial variations. Additionally, each new polygon on this low-poly cage results in a significant number of polygons on the smoothed duplicate, so for the sake of performance during the modeling phase, and also later when it comes time to render, it is important to add detail sparingly. Beginning with the Edit Polygons>Split Polygon Tool tool, I begin adding detail and moving vertices into position.
Using the Edit Polygons>Extrude Face tool, I add detail to protruding and recessed areas (like the nose, eyes, and mouth). You will notice that faces extruded along the interior border edge result in the creation of new interior faces.
I delete these new interior faces so that I may modify the profile of the face as desired.
I continue adding detail using the Extrude Face and Split Polygon tools until I have enough detail to begin refining areas of the model, pushing and pulling the vertices into the right position.
As the modeling process continues, I may notice that my wireframe performance is becoming very sluggish. In part, this is simply due to the large number of polygons being drawn on the smoothed model. However, the more substantial performance hit is actually the result of the extensive INPUT history which accumulates as the low-poly model is being created. To improve performance, select the low-poly cage, then select Edit>Delete by Type>History. The history of the low-poly object will be deleted, but its connection to the smoothed duplicate will remain intact. From this point forward, the modeling process should be fairly
intuitive. A couple tips to keep in mind: 1) try to avoid creating
polygons on the low-poly cage that have more than four sides
(otherwise, the smoothed results will be less predictable), and 2)
be sure to keep all interior edge vertices of the character head at
X=0 so that an open seam does not appear between the two halves of
the head.
Most of the process is really just a matter of refinement. This
stage can be very time consuming (it took me about six hours to get
to a point where I felt this model was true to my original
sketches), but in many ways it is the most gratifying
step.
This final, low-poly head can now bound to a skeleton and animated, then smoothed using Edit Polygons>Smooth.
In my next tutorial, I will discuss how to texture a model created using subdivision emulation. |