| " I personally
prefer lofting directly off a surface, and animating all the
surfaces using skeletons. You could instead, however, use a
fillet to create an interactive connection between the torso
and arm that would not be skinned to the bones.
"
In Maya: Delete the
history on your lofted arm by selecting the arm and choose
Edit|Delete by Type|History on the top menu bar. Then to
remove excess surface curves, choose Edit|Surfaces|Rebuild
Surfaces [] (see Figure 18-right). Uniform parameterization
spaces the isoparms in the most even manner, but in some cases
may remove detail. Choose Reduce or Non-Rational if this
happens, and Keep, U and V for Direction. In some cases, you
want to specify the Number of Spans in U and V, which you can
determine by opening your object¡¯s attribute editor. Make
sure you are creating a cubic NURBS surface, and click
Apply.

Figure:
18: After freezing to delete history in Softimage|XSI, you
may need to clean up surface curve placement by using
Reparameterize (left), while in Maya use Rebuild
(right).
Step 4:
Using a Fillet Instead of Lofting
I
personally prefer lofting directly off a surface, and
animating all the surfaces using skeletons. You could instead,
however, use a fillet to create an interactive connection
between the torso and arm that would not be skinned to the
bones.
In Softimage|XSI: To create a
fillet in Softimage, you must have the arm intersect the torso
surface. Do this by adding an isoline near the shoulder, and
select the points around the open edge, and translate them
through the torso. You can also loft the arm from a curve
inside the torso to make them intersect. Then select the
torso, choose Create|Curve|Fillet Intersection, and click the
intersecting surface. You will probably want to use a Constant
Radius Type, and increase the U Subdivisions. The start radius
can also be increased to make a larger connection, which is
preferable on organic characters.
Another
fillet-like command in Softimage|XSI is Blend, which creates
an interactive connection between two open surface poles. It
is not possible to do a blend between a shrink wrapped surface
curve and an open pole at this time. To create a blend choose
Create|Surface|Blend on the left menu bar, and click on each
open edge so that it is highlighted in red. In the resulting
blend property page, adjust the subdivisions as needed for a
smooth connection.
In
Maya:
You can create a fillet intersection by selecting two
intersecting surfaces, and choose Edit Surfaces|Surface
Fillet|Circular Fillet []. Turn on Create Curve On Surface if
you want to trim the intersecting surfaces. A circular fillet
creates an interactive surface that smoothly covers the
intersecting surfaces. It is ideal for a simple cartoonish
character.
Another
fillet in Maya that creates a surface between a curve on your
torso and an isoparm on the shoulder edge of your arm surface,
is a freeform fillet. Once you have a curve on your torso
surface, shift select the two isoparms, and on the top menu
bar choose Edit Surfaces|Surface Fillet|Freeform Fillet [].
Type in .5 for Depth and 0 for Bias, and use small tolerance
levels. These numbers can also be adjusted as needed in the
Input channels on the fillet after applying.
Lastly,
you can choose Surfaces|Surface Fillet|Fillet Blend Tool** to
create a fillet surface between surface curves. After
activating the tool, click the torso surface curve and press
Enter, and click the open shoulder isoparm and press Enter.
This creates an interactive connection with several Input
channels that can be adjusted.
**Note:
The difference between a "tool" in Maya, and other commands
called "actions", is the selection order. An action requires
you select all object components before applying the command,
while a tool requires you to select the tool command first,
and then pick the object components.

Figure:
19: You can create an interactive fillet in Softimage|XSI
by intersecting surfaces (left), and create an interactive
fillet in Maya between a projected surface curve and an edge
by using either Freeform Fillet or the Fillet Blend
Tool.
" ...the features of the
face must not only be accurate in structure, but also must be
able to deform into all the facial expressions that the
character will use to communicate.
" Step 5:
Connect a Neck to the Top Pole of the torso.
Depending on how you create your
head, you may be able to connect the top pole of your torso to
the bottom pole of your neck. This would create a single
surface for the torso and head. The only time you would not
want to do this is if your head has many more surface curves
than your torso. If you connect them, you will create a dense
torso that is not necessary. In this case, it would be more
efficient to keep them separate surfaces.
In
Softimage|XSI: To connect your torso to your neck, first make sure
both objects have open poles that structurally line up. If
necessary, cut the top of the torso or the bottom of the neck
to open them, by selecting a V Isoline, and choose
Modify|Surface|Snip. Before connecting, it is also important
to turn on View|Boundaries to make sure the closed seam lines
up on both surfaces, to avoid twisting problems. Adjust the
position of the seam if necessary, and use
Modify|Surface|SwapUV to swap the UV if they are not the same
on both surfaces. Then to connect the two open edges, select
the torso and choose Create|Surface|Merge (see Figure
19-left). The command line prompts you to select the open
edges with the left mouse button, and then right click to open
the merge properties. Adjust the Clean, Subdivision, and Shape
properties as needed. You may want to adjust the Clean
Tolerance, or manipulate the Shape Start and End Surface
sliders. The resulting surface will be one piece of geometry.
Freeze the history on the surface, and hide the original
surfaces.
In
Maya: To
connect your torso to your neck, first make sure both objects
have open poles that structurally line up. If necessary, cut
the top of the torso or the bottom of the neck to open them,
by right clicking to select an isoparm, and choose Edit
Surfaces|Detach Surfaces. Discard the detached poles. Before
connecting, it is also important to turn on surface origins to
make sure the closed seam lines up on both surfaces, to avoid
twisting problems. Adjust the position of the seam if
necessary, and use Edit Surfaces|Reverse Surface Direction to
swap the UV if they are not the same on both surfaces. Then to
connect the two open edges, shift select the edge isoparms on
each surface, and choose Edit Surfaces|Attach Surfaces (see
Figure 19-right). In the attach options box, make sure Blend
is checked on, and choose .5 Blend Bias. You can adjust the
Blend Bias and Insert Knot settings in the channels after
attaching. The resulting surface will be one piece of
geometry. If you turned on Keep Originals, then delete the
history on your new surface, and hide the original
surfaces.

Figure: 20: Use Merge to connect a neck to your
torso in Softimage|XSI (left), and use Attach Surfaces to do
the same in Maya (right).
Three Methods for
Modeling a NURBS Head
One of the most difficult body
parts to model using NURBS surfaces is a human head. The
reason for this is that the human head is very distinct in
it¡¯s structure, with specific indention¡¯s and cavities that
are extremely recognizable to all viewers. Also, the features
of the face must not only be accurate in structure, but also
must be able to deform into all the facial expressions that
the character will use to communicate. To do this, you need to
model a head with specific surface curve placement that
contours the muscles of the face. This should be efficiently
done, without adding too many surface curves, which will make
it difficult to animate the face by creating target face
shapes. There are three main methods for creating a NURBS
head, based on edge placement. These are called radial,
vertical, and patch methods. Each method has specific
advantages and disadvantages.
" The horizontal curves that define this head make it
difficult to deform the edges of the mouth into expressive
shapes. This is more of a problem for the mouth than the eyes,
since the eyes do not require extreme deformations.
" The radial method has one edge pole
inside the oral cavity, with the surface curves radiating out
from the mouth to the back of the head (see Figure 20-left).
The other edge pole is either placed in the back of the head,
or cut open and rotated down to create the base of the neck.
The advantage of a radial head is that the mouth is well
defined with evenly spaced surface curves, which makes it very
suitable for creating expressive mouth shapes. The
disadvantage occurs in the eye area, where surface curves are
not quite vertical. To carve out a good eye cavity from the
radiating curves, you need to make them vertical, and add many
more across the surface. This will cause the surface curves to
bunch up around the upper lip area, as the added curves are
condensed into the mouth. To avoid complicating the mouth
structure, it is usually better to add the eyes as separate
revolved patches that sit on top of the base head. Try to
place the seam between the eye patches and the base head where
the eye socket has a natural indentation. This will contour
the "bags" under the eye, and be hidden in the shadowed area
under the eyebrow.
The
vertical method places the poles at the top of the head and
the bottom of the neck (see Figure 20-middle). This enables
you to attach the open neck pole to the open top of a
similarly oriented torso. The advantage to this type of head
is that it is a single piece of geometry. This makes it easier
to texture and animate, as you don¡¯t have to worry about
seams coming apart. However, the problem with this kind of a
head is that the surface curves do not contour around the eye
and mouth cavities very well. The horizontal curves that
define this head make it difficult to deform the edges of the
mouth into expressive shapes. This is more of a problem for
the mouth than the eyes, since the eyes do not require extreme
deformations. In addition, the extra horizontal curves
required to carve out these areas tend to bunch up on the
cheeks, causing striations that are sometimes difficult to
smooth out.
The
patch method for creating a head requires that you cut the
head up into many separate NURBS patches. This is like
creating a patch quilt of surfaces, where the surface curves
line up across all the surfaces to create tangency. The
advantage of this method is the orientation of the surface
curves can be different on each patch, so that local detail
can be created in particular areas of the head without adding
extra curves across the whole head. Rather than changing the
number of surface curves, the orientation of the curves is
usually changed so that they can go in the direction necessary
for creating details that would be impossible on a single
NURBS surface. In addition, seams can be partially opened
between surfaces to create openings that would also be
impossible on a single surface (see Figure 20-right). The main
disadvantage is that you have to keep the seams between
patches from opening when the character animates. Because of
the complexity of creating tangency between many separate
surfaces, this method for modeling a head is usually
considered the most difficult.

Figure:
21: Here are examples of a radial (left), vertical
(middle), and a simple patch head that separates at the seams
to create the mouth and eye openings (right).
" ...add surface curves gradually to create facial
details such as the nose, lips, and forehead. The surface
curves should contour all the structures of the face. Be
careful not to add too many surface curves in any one
area..." Tip #4: Creating
a Radial Head
Create a
radial head (see Figure 22) from a NURBS sphere on which you
manipulate the points to pull back a mouth opening, gradually
adding detail to define the head features. When the necessary
surface curves for creating the basic structure of the head is
in place, copy the surface curves in one direction to generate
object curves for half the head, and loft the curves.
Duplicate the resulting lofted surface as an instance, and
scale it in ¨C1. This creates a second half of the head that
interactively updates when manipulating points on the lofted
surface. A history connection between the curves and the
lofted surface enables you to refine the surface by
manipulating the curves. When finished, use surface sculpting
tools to finish the surface, and use connect-surface commands
to make one head from the two halves. Lastly, add separate eye
patches by lofting curves snapped to surface.
![]()
Figure:
22: Create a radial head from a primitive sphere, and then
loft eye patches from curves snapped to surface.
Step 1:
Model All Facial Features from a Primitive
Sphere
Rotate
the sphere so it is facing forward in Z. Then select CV¡¯s
near the front pole, and pull them back to define a mouth
cavity. Create a clipping plane in the front view to hide the
vertices on the back of the head. Lastly, add surface curves
gradually to create facial details such as the nose, lips, and
forehead. The surface curves should contour all the structures
of the face. Be careful not to add too many surface curves in
any one area, or they might start to bunch up and cause
surface problems.
In Softimage|XSI: Create a
primitive sphere with 8 subdivisions in U and V, and rotate it
90 degrees in X, so it¡¯s poles are facing forward in Z. Scale
the sphere in object mode so it has the oval shape of a head.
Choose Transform|Freeze All Transforms on the right menu bar
to set your rotation and scaling adjustments. Then switch
selection mode from Subsurface mode to V Isoline, and add a
surface curve to the front of the sphere between the second
and third isoline. This creates the edge of the lip, and will
stabilize the mouth area. Add the isoline by choosing
Modify|Surface|Inset Knot Curve. Then to create a mouth
cavity, switch to point mode and select CV¡¯s in front of the
surface curve you added, and translate them in negative Z. You
want to move them far enough back so you won¡¯t see them when
you add a clipping plane to the front view.
To add a
clipping plane so you will only see the front area of the
sphere, click on the camera icon on the front view¡¯s top menu
bar, and choose Properties. Under Clipping Planes, set the Far
Plane values from 20,000 to 10,000. You may want to open the
script editor by clicking it¡¯s "!" button in the
lower-mid-left area of the interface, and copy the history
script for each clip plane setting to a custom toolbar. Do
this by first creating a custom toolbar named Clip-planes by
choosing View|Custom Toolbars|New Toolbar¡ Then highlight
the script code for each command, and drag it using the left
mouse button into the new toolbar. Name it and click OK, which
creates a button that can be clicked to invoke each setting as
needed.
At this
point you are ready to start adding surface curves and
manipulating CV¡¯s to gradually shape the features of your
head. Start by scaling the mouth CV¡¯s down to create a small
mouth shape, and then begin adding surface curves to sculpt a
nose. At this stage, add surface curves to each side of the
head, but be aware that you will discard one side later. Also
remember that you need a curve for every bump and indention on
the surface, but you want to avoid adding too many surface
curves to an area, or it will become difficult to manage. Use
the example picture as a guide for placement of your surface
curves (see Figure 24). Notice how the surface curves must
contour the features of the face to produce a good result. On
the nose, for example, you need three vertical surface curves
for the bridge, and at least three vertical curves for the
nostril. If you add too many vertical curves, however, the
points will start to bunch up on the upper lip. At this stage,
it is important to rough out the face entirely with all the
surface curves that will be needed to define the face. Delete
history when you have roughed out the head to your
satisfaction.
![]()
Figure:
23: In Softimage|XSI rotate a sphere so the poles are
facing forward, and then select and translate CV¡¯s on the
front of the sphere to create a mouth cavity.
"On the nose, for example, you
need three vertical curves for the bridge, and at least three
vertical curves for the
nostril." In
Maya: Create a primitive sphere with 8
subdivisions in U and V, and rotate it so it¡¯s poles are
facing forward in Z. Scale the sphere in object mode so it has
the oval shape of a head. Then press F8 to go into component
mode, and right click to add an isoparm towards the front of
the sphere in the top view. This creates edge of the lip, and
will stabilize the mouth area. To create a mouth cavity,
select CV¡¯s in front of the isoparm you added, and translate
them in negative Z. You want to move them far enough back so
you won¡¯t see them when you add a clipping plane to the front
view.
To add a
clipping plane so you will only see the front area of the
sphere, choose View|Camera Attribute Editor on the front
view¡¯s top menu bar. Change the Far Clip Plane from 1000 to
100. You may want to open the script editor by clicking it¡¯s
button in the lower right corner of the interface, and copy
the history script for each clip plane setting to your shelf.
Do this by highlighting the MEL code for each, and drag it
using the middle mouse button to your shelf. This will create
a button that can be clicked to invoke each setting as
needed.
You are
now ready to start adding surface curves and manipulating
CV¡¯s to gradually shape the features of your head. Start by
scaling the mouth CV¡¯s down to create a small mouth shape,
and then begin adding isoparms to sculpt a nose. If you need
to select an entire row of CV¡¯s, it is sometimes easier to
right click and choose Hulls, to select and manipulate the
hulls. Lastly, when manipulating individual CV¡¯s, it is
helpful to use the arrow keys to select the next CV on the
surface.
At this
stage, add surface curves to each side of the head, but be
aware that you will discard one side later. Also remember that
you need an isoparm for every bump and indention on the
surface, but you want to avoid adding too many surface curves
to an area, or it will become difficult to manage. Use the
example picture as a guide for placement of your isoparms.
Notice how the surface curves must contour the features of the
face to produce a good result. On the nose, for example, you
need three vertical curves for the bridge, and at least three
vertical curves for the nostril. If you add too many vertical
surface curves, however, the CV¡¯s will start to bunch up on
the upper lip. At this stage, it is important to rough out the
face entirely with all the surface curves that will be needed
to define the face. Delete history when you have roughed out
the head to your satisfaction.

Figure:
24: In Maya, set a far clip plane to hide the back
vertices of your head while working in wireframe mode in the
front view. Then add surface curves gradually to build up and
define facial features on your head.
Step 2:
Refine Half the Head using Curves
It is
sometimes useful to model with curves using history to update
a lofted surface. It is also more efficient to refine only
half your head, using an instanced surface for the other half.
To do this, you must copy or extract all the curves for half
of your head, starting at the chin and ending at the middle of
the forehead. Loft the curves to create a NURBS surface.
Duplicate this side of the head as an instance, scaling it ¨C1
in X. This will create the other half of the head as an
instance that will automatically update as you refine the
source half. Group the curves to easily select them as a
whole, and proceed to manipulate the curves to refine the
head.
In Softimage|XSI: With your rough
head selected, change your selection filter from subsurface to
V Knot Curve, and then hold the Shift key down while clicking
on all the surface curves from the middle of the chin to the
middle of the forehead. When all the surface curves are
highlighted in red, choose Create|Curve|Extract from Surface
on the left menu bar. Loft the resulting curves by choosing
Create|Surface|Loft, and right click after picking each curve
in order. With the lofted surface selected, create an
instanced opposite half of your head by choosing
Edit|Instantiate Single on the top menu bar. Scale the
instanced half of the head ¨C1 in the X axis. This creates a
symmetrical instanced surface that updates while you are
refining the other side of the head. Change the selection
filter from Subsurface to Curve, and drag a selection box
around all the curves, and change to Point mode to adjust your
surface by manipulating the shapes of the curves. You can also
Group the curves by clicking the Group button on the right
menu bar. This does not enable you to select points, however,
until you also choose Select|Select
Members/Components.
In
Maya:
Right click on your head and choose Isoparm, and then hold the
Shift key down while clicking on all the surface curves from
the middle of the chin to the middle of the forehead. When all
the isoparms are highlighted in yellow, choose Edit
Curves|Duplicate Surface Curves on the top menu bar. Loft the
resulting curves by shift selecting them in order, and choose
Surfaces|Loft []. Make sure you are using Uniform Cubic NURBS
in the lofting options box. With the lofted surface selected,
create an instanced opposite half of your head by choosing
Edit|Duplicate []. In the duplicate options box, change from
Copy to Instance, and place ¨C1 in the first X scaling field.
This creates a symmetrical instanced surface that updates
while you are refining the other side of the
head.
**Note:
One capability you have in Maya is to be able to move EP
points on a curve. Since a curve passes through the EP points,
this makes manipulating the curves easier than manipulating
CV¡¯s on the surface directly. You can select the group of
curves for your head, and in component mode, turn off CV¡¯s
and turn on EP¡¯s. Then turn on shaded view in the perspective
window, and make it full screen. The EP points should be
visible directly on the surface of your head just like a
polygon model. Simply select them to transform them as needed
to refine your head.

Figure:
25: Duplicate and loft curves to create half a head, then
duplicate and scale ¨C1 in X an instance of the head. Moving
CV¡¯s (or EP¡¯s in Maya) on one side of the head will
automatically update on the other side of the head.
"Most organic creatures are not completely symmetrical.
Adding some slight variations on each side of the head will
give your character a more natural
look." Step 3: Using Surface Deformation
Tools
Finish
the model by deleting the history on the NURBS half-head, and
model the surface directly using surface deformation tools.
When the head looks close to finished, connect the two halves
into one head, and continue to use surface deformation tools
to make asymmetrical variations on the head. Most organic
creatures are not completely symmetrical. Adding some slight
variations on each side of the head will give your character a
more natural look.
In Softimage|XSI: The main tool in
Softimage|XSI for interactively sculpting a NURBS surface
directly, without manipulating CV¡¯s, is to use the Paint Tool
(formerly known as GAP) to create a weight map for the
surface. The weight map is then connected to the Amplitude
property of a deformation operator, such as Push, Bulge, Shear
etc. Do this by selecting your head and choose
Get|Property|Weight Map on the left menu bar. Give the weight
map a name, and close the property page. Choose
Get|Property|Brush Properties (Ctrl + W) to adjust your paint
settings, and press the W key in the camera view to start
painting. Click and drag with the middle mouse button to
adjust the radius of the brush, left click to add weights, and
right click to reduce weights. Adjusting the Opacity setting
increases or decreases the amount of painting, while adjusting
the Hardness and Softness will affect the painted edge. To
actually sculpt the surface, you must connect the weight map
to a deformation operator. Choose Modify|Deform|Push to
connect a push operator to the current weight map. Changing
the Amplitude setting will affect the surface according the
weight map. Only one weight map can control a particular
deformer. To layer additional weight maps, select the object
(not the weight map), and add a new weight map. Connect a
second Push operator to the new weight map, and set the
Amplitude settings to go in a different direction and amount.
Keep in mind that as you layer deformation operators the
Operator Stack is increasing. When you have completed
sculpting the surface, it is a good idea to Freeze the
operator stack by clicking the Freeze button in the lower
right menu bar, and manually delete the weight maps in the
Clusters folder of your surface.
When one
side of the head is complete, freeze the instance, and connect
the two halves of the head. Do this by selecting the instance,
and click the Freeze button to remove the connection to the
other half of the head. This makes the instance into a normal
piece of geometry. Then choose Create|Surface|Merge, and click
twice on each half; once to select the surface, and a second
time to select the open edge of the surface. Right click to
merge the two halves, and close the property page. Click the
Freeze button again to delete the history connection between
the original halves and the new single surface head. Then make
sure you close the seam at the chin by choosing
Modify|Surface|Open/Close. Once the head is one piece,
continue modeling with the Paint Tool or lattices to create
some asymmetrical variations on the head¡¯s
features.

Figure:
26: Use the Paint Tool in
conjunction with a weight map and a deform operator to sculpt
your head in Softimage|XSI
"Create a closed circular curve on surface to define
the outer edge of a radial eye patch. Try to make the edge
conform to the natural indention around the eye
socket." In
Maya: There are two tools in Maya for
interactively sculpting a NURBS surface directly, without the
need to select CV¡¯s. These are the Sculpt Surfaces Tool and
the Surface Editing tool, which are found in the Edit Surfaces
menu on the top menu bar. A tool in Maya is different from
other commands, in that you select a tool before picking the
object you want to effect. All other commands require you to
select your objects first, and then invoke the appropriate
command. Choosing Edit Surfaces|Sculpt Surfaces Tool [], opens
a paint-style sculpt options box that allows you to choose the
brush Radius, Opacity, Shape, and operations such as Push or
Pull. A couple of other useful options are the Reflection and
Show Preview buttons in the Stroke and Display tabs. Painting
on the surface of your head in shaded mode, as you orbit
around in the camera view, will move the CVs inward or
outward. Increase the Max Displacement or change the Reference
Vector under Sculpt Variables to adjust the amount or
direction of the deformations. This is a good method for
creating bumps, and crevices on your head surface.
The
Surface Editing Tool is primarily used for fine detail
adjustments to the surface. It is very similar to the Curve
Editing Tool, but works on the U and V surface isoparms.
Choose Edit Surfaces|Surface Editing|Surface Editing Tool, and
click on your head. An icon with a handle sticking out comes
up that has five main parts. The center part has a colored X,
Y, Z manipulator that enables you to translate that part of
the surface. Along the length of the handle there is a
circular icon, a square icon, and a diamond icon. Clicking the
circular icon changes the direction of the handle between the
U, V, and W (normal direction) of the surface. The square icon
enables you to rotate the handle, while the diamond icon
enables you to scale the handle. Moving any of these handles
affects the highlighted surface isoparm. A second diamond icon
close to the move manipulator enables you to slide the handle
to a new location on the surface.
When
your half head is complete, delete the instance half, and
duplicate the surface again as a normal surface. Do this by
selecting the surface, and choose Edit|Duplicat [] on the top
menu bar. In the resulting options box, make sure Copy is
selected under Geometry Type and the X axis is being scaled by
-1, and click Duplicate. Then select the original half, and
shift select the duplicate half, and right click to select the
edge isoparms on both halves by dragging a selection box over
the common edge. Once the edges are highlighted, choose Edit
Surfaces|Attach Surfaces [] on the top menu bar. In the
options box, make sure Blend is turned on, with a .5 Blend
Bias, and Insert Knot is turned off. Once attached, make sure
you close the seam at the chin by choosing Edit
Surfaces|Open/Close Surfaces []. In the options box, choose
Blend again for the direction across the chin (usually V), and
also turn off Insert Knot. Once the head is one piece,
continue modeling with the Sculpt and Surface Editing Tools or
lattices to create some asymmetrical variations on the head¡¯s
features.

Figure:
27: Use the Sculpt Surfaces Tool (left), and Surface
Editing Tool (right) in Maya to finish modeling your radial
head.
Step 5:
Loft Eye Patches
Create a
closed circular curve on surface to define the outer edge of a
radial eye patch. Try to make the edge conform to the natural
indention around the eye socket (see Figure 28). Duplicate and
scale the curves to define the eyelid opening. Loft the curves
to form a revolved shaped eye patch. Manipulate CV¡¯s (or
EP¡¯s in Maya) on the curves to fit the eye patch snugly
around the eyeball. When completed, delete the history, and
clean up the surface if necessary.

Figure:
28: Loft from a curve snapped to surface to create a
radial eye patch that fits over the eyeball.
"Keep in mind that lining up surface edges one-to-one,
called an I junction, is usually best. This makes it necessary
to cut the surface into many
pieces..." Tip #5: Creating
a Patch Head from a Radial Head
The
easiest way to begin a patch head is to disconnect surfaces
from a previously made radial head. Most of the patches will
be discarded, but the ones around the mouth and nose can be
used to start the patch head. To create additional patches,
you will have to draw surface curves manually on a polygon
guide head. You should use curve on surface and snap to
surface methods to place the new curves on the guide mesh. You
can use previously mentioned techniques to create surface
curves, and loft the curves to create each patch. You can also
create four curves to define the edge boundaries of each
patch, and use surface commands such as Square (Maya) and Four
Sided (Softimage|XSI) to create patches that have tangency
with neighboring patches.
Lastly,
you will want to create tangency between all the separate
patches, and make sure the surfaces don¡¯t come apart when
animating. Do this by using automatically updating tangency
commands, such as Assemble and Stitch. Some commands can be
done on either a global or patch-by-patch basis. Keep in mind
that lining up surface edges one-to-one, called an I junction,
is usually best. This makes it necessary to cut the surface
into many pieces to be able to stitch as many one to one
connections as possible. Creating tangency on a T-junction,
where a larger edge meets two smaller edges, is possible but
more difficult. While special problems may also occur at a
star-junction, where many edges come together. This is usually
fixed by point snapping edge vertices. After creating tangency
on all the surfaces, you can sometimes combine some patches to
simplify the model.

Figure:
29: A patch head is made of multiple NURBS surfaces that
have tangency to hide the seams.
Step 1:
Cut the Radial Head into Separate Patches
Disconnect the surface of the radial head into several
patches. Start by cutting the head in half, and discard one of
the sides. Then disconnect the surface curves around the
mouth, and down the edge of the nose. You want to keep the
patches that surround the mouth and nose, and discard the
other patches.
In Softimage|XSI: Use the surface
curves on your radial head as a starting point for creating a
patch head. First switch to U Knot Curve selection filter, and
click on the isolines that run down the side of the nose. Then
cut the head into sections by choosing Modify|Surface|Snip.
Because snip forces you to keep the first or second surface
and discard the rest, it is necessary to make many duplicates
of your head for each snipped piece. Also, at this time,
trying to snip multiple isolines will not work, and will crash
the software if you try to cut the closed V edge. Once you cut
one edge, select the same isoline on the other side of the
nose, and snip it (see Figure 30-left). Duplicate the nose
section, and then snip each piece in V on the upper lip. Keep
duplicating and snipping isolines until you have a nose piece,
and five mouth pieces. Discard all other pieces, but keep one
full head to use as a snap to surface guide object.
"The number of surface curves on different patches
should be consistent, so they will line up to create tangency.
" In Maya: Use the surface
curves on your radial head as a starting point for creating a
patch head. First right click on your base head and choose
Insoparm, and shift-click on the surface curves that surround
the mouth, and define the nose. Then cut the head into
sections by choosing Edit Surfaces|Detach [] Surfaces on the
top menu bar. Turn on Keep Original, so you will have the base
head to use as a guide object for surface snapping. Continue
detaching surfaces until you have a nose piece, and five mouth
pieces. Discard all other pieces except the base head and eye
patches (see Figure 30-right).

Figure:
30: Start a patch head in Softimage|XSI by selecting
surface curves around the mouth and nose on your radial head,
and snip the surface (left). In Maya, disconnect the head into
separate patches by selecting isoparms, and detach the
surfaces. Keep the mouth and lower nose sections, and discard
all the other surfaces except the eye patches
(right).
Step 2:
Create Additional Patch Surfaces
Additional patches must be manually created for the
cheek, eye, and forehead areas. Do this by using surface
snapping techniques to a polygon guide head. This will enable
you to draw curves that can be used with curves duplicated
from existing patches to create the new patches. The number of
surface curves on different patches should be consistent, so
they will line up to create tangency. Change direction of the
surface curves on the eye patches so they radiate out from the
eyes in a similar manner as on the mouth
patches.
In Softimage|XSI: Create new
patches by extracting curves, snapping to surface, and
Four-Sided. For example, to create a cheek patch that has
tangency with the right upper lip and the right edge of the
nose, first extract curves from the nose and mouth surface
edges. Use the original base NURBS head as a guide object (or
convert to polygons and merge with the eye patches to use the
full head), and turn on Snap to Surface in the lower right
menu. Then switch to Point mode and hold down the M key while
dragging CV¡¯s on the extracted curves to create the outer two
edges of the cheek patch. When the two new curves are in
place, choose Create|Surface|Four-Sided. In a clockwise
motion, click on each of the curves and both edges of the nose
and upper lip patch, so they are highlighted in red. A four
sided patch will be created that defines the cheek area, and
it¡¯s property page will be opened. Try to adjust the
subdivisions on the patch so that they match the nose and
mouth surface (sometimes this will not be possible for one
direction on the patch). Choose Modify|Surface|Clean and
Modify|Surfaces|Reparameterize to further adjust the
subdivisions. Then if necessary, manually move CV¡¯s in snap
to surface or snap to point modes to adjust the surface curve
placement. To achieve good tangency, you want isolines to line
up across the patches (see Figure 31).
"A four sided patch will be created that defines the
cheek area, and has tangency with the adjacent patches. You
may need to rebuild the surface to create the same number of
subdivisions as the adjacent
patches." In
Maya: Create new patches by duplicating
surface curves, snapping to surface and vertices, and squaring
the curves. For example, to create a cheek patch that has
tangency with the right upper lip and the right edge of the
nose, first copy curves from the nose and mouth surface edges.
Select the original base NURBS head as a guide object (or
convert to polygons and combine with the eye patches to use
the full head), and turn on Modify|Make Live. Then switch to
Component mode by clicking F8 while dragging CV¡¯s on the
copied curves to create the outer two edges of the cheek
patch. Make sure you hold down the V key to snap the end
vertices of each curve to the edges of the surface curves.
When the two new curves are in place, shift select the two
curves and two edge isoparms, and choose Surfaces|Square. In
the options box, select Tangent, and set the Curve Fit
Checkpoints to around 5, and click Apply. A four sided patch
will be created that defines the cheek area, and has tangency
with the adjacent patches. You may need to rebuild the surface
to create the same number of subdivisions as the adjacent
patches. Then switch to Make Live again, and manually move
CV¡¯s on the patch to adjust the surface curve placement. To
achieve good tangency, you want isoparms to line up across the
patches (see Figure 31).

Figure:
31: Use snap to surface techniques to create curves on a
guide surface, and create patches by lofting or squaring the
curves. It is important that all the isoparms line up across
all the patches.
Step 3:
Setting Tangency Between Surfaces
Once all
the patches are placed correctly by using surface and point
snapping techniques, then you need to create tangency between
the patches to remove the appearance of seams, and to
interactively glue the surfaces together so they don¡¯t come
apart while animating.
In Softimage|XSI: To create an
interactive connection and hide seams between the separate
patches, drag a selection box around them, and choose
Create|Surf.Mesh|Assemble (see Figure 32-left). Set a SCM
Tolerance between .15 and .3, and click OK. A new object is
created that is a seamless combination of the separate NURBS
surfaces. Make sure the resulting surface has no gaps between
the patches. If gaps are noticeable, delete the assembled
surface and repeat the process with a higher SCM setting. If
some edges bunch up due to the SCM setting, smooth them out by
moving CV¡¯s apart on the surface directly. Notice as you
adjust CV¡¯s that the patches stay together.
In
Maya:
To create an interactive connection and hide seams between the
separate patches, drag a selection box around them, and choose
Edit Surfaces|Stitch|Global Stitch [] (see Figure 32-right).
Turn on Closest Knot, Equal Params and Tangents, which will
line up the surface curves and edges with tangency, and click
Apply. Make sure the resulting surface has no gaps between the
patches. If gaps are noticeable, select one of the patches and
adjust the global stitch input channels. Increase the Max
Seperation value to close gaps between patches. If some edges
bunch up, increase the Modification Resistance value to smooth
them out. In some cases, you may need to manually adjust the
CV¡¯s to smooth out connections. Notice as you adjust CV¡¯s
that the patches stay together.

Figure:
32: To interactively glue all the separate patches
together, use Assemble in Softimage|XSI (left), and Global
Stitch in Maya (right).
"If the palm is rotated so the poles are at the end of
the thumb and on the side of the hand, with the closed edge
running across the center of the palm, then you can create
curves on surface for all the
fingers." Modeling NURBS
Body Parts
Using
all the previously shown modeling methods, you should be able
to create all the body parts for your character. The legs, for
instance, can be done in several ways. You could add circular
surface curves to the bottom of your torso, and loft from the
surface curve to create each leg (see Figure 33-left). If your
character is wearing a belt, you could loft curves in a U
shape from one foot to the other foot (see Figure 33-middle).
A belt is usually necessary to cover up the seam between the
legs and the abdomen. You could also loft an open curve that
appears closed on the bottom, and opens as it reaches the
torso (see Figure 33-right). This can create tangency between
the torso and each leg. Because they are open surfaces,
however, the two legs cannot be connected as one
surface.

Figure:
33: Legs can be lofted off the torso (left), lofted from
one foot to the other (middle), or separate open surfaces that
join each other and the torso at the top (right)
Modeling
hands are the most difficult body part when using NURBS
surfaces because of the many branching fingers. There are some
techniques for creating tangency between the palm and fingers,
however. Pole placement becomes an issue on the palm, because
you want to avoid creating curves on surface over an edge for
lofting the fingers. If the palm is rotated so the poles are
at the end of the thumb and on the side of the hand, with the
closed edge running across the center of the palm, then you
can create curves on surface for all the fingers. This would
require separating the hand from the arm, as the arm would
have to be oriented with the poles at the wrist and
shoulder.
Other
methods you could use to create a hand involve patch modeling
and tangency techniques. One popular way of creating a patch
hand is to loft a cylinder-like palm with an open edge at the
fingers, and manipulate vertices so the edge aligns with four
separate open finger edges (see Figure 34-left). This usually
requires snapping points to create tangency. This method makes
the knuckles and the beginning of the fingers a part of the
palm, which places the seam for each finger in the middle of
the first bone of each finger. Other methods for creating a
patch hand can be quite complicated and just as time consuming
as a patch head (see Figure 34-right).

Figure:
34: You can create a NURBS hand by creating tangency
between the open edge of the end of the palm and four separate
open finger edges (left). Making a complicated patch hand can
be just as difficult as making a patch head
(right).
"It is best while modeling with NURBS to keep your
surfaces as uniform as possible. This will space out the
surface curves in a predictable manner, and will texture
well." Texturing
Issues
Texturing NURBS characters involves the same
considerations as any other geometry type. You will want to
layer your textures with a color, bump, and specular map. For
small, highly complex edges, such as cloth fringe or hair, a
transparency map may be a better choice than adding more
geometry. One advantage of using NURBS surfaces is that the
textures will automatically contour along the UV surface.
Because it is not projected, but instead wrapped on the
surface, it is assigned according to the point structure and
normals of the surface, so it deforms well with organic
deformations.
It is
best while modeling with NURBS to keep your surfaces as
uniform as possible. This will space out the surface curves in
a predictable manner, and will texture well. If you do need to
add extra surface curves to harden an edge and add detail to
the surface, then you may need to reparameterize the surface
for texturing. You will notice that the spacing of surface
curves will cause the texture to compress in some areas, and
stretch in other areas. Usually chord length parameterization
is used to fix this problem, which will even out the UV
texture in areas that have uneven spacing between surface
curves. To check this while modeling, place a simple checkered
UV texture on your surfaces, and see if reparameterization is
necessary.
To
reparameterize a surface in Softimage|XSI, choose
Modify|Surfaces|Reparameterize. A variety of choices are
available to choose from instead of the default Non-uniform
setting. In Maya, you must re-loft the surface to
reparameterize, choosing Chord Length instead of Uniform in
the lofting options box.

Figure
35: Finish your NURBS characters with a UV color, bump,
and specular map. Here you can see the UV color map for this
gladiator character¡¯s radial head. It may be necessary to
reparameterize the surface to get more evenly distributed
texture placement.
Conclusions and Comparisons
So,
perhaps creating a NURBS character is not such a curse after
all. If you know how to approach NURBS modeling by
understanding it¡¯s inherent strengths and limitations, then
it shouldn¡¯t be such a daunting task. If it¡¯s still not your
cup-of-tea, then perhaps polygon and subdivision surfaces
would be a better choice. In an upcoming article, I will
describe the advantages and limitations of using polygons and
subdivision surfacesfor modeling in Softimage|XSI and
Maya.
Since
this article has shown NURBS modeling in current versions of
Softimage|XSI and Maya, I think it is safe to make some
comparisons between the two packages. Although Softimage|XSI
has many good NURBS modeling features, it still is lagging
behind Maya in this particular area. The fact that you can
easily toggle through CV¡¯s using the arrow keys, manipulate
EP¡¯s on curves, and easily cut a surface into multiple
patches, makes Maya more efficient as a basic modeling tool.
Also an advantage is the ease of use and robustness of the
Sculpt, Surface Editing, and Stitch tools in Maya. One basic
modeling advantage that Softimage|XSI has over Maya is the M
key, which enables you to just click and drag a CV, rather
than select the CV first. Other advantages of modeling in
Softimage|XSI is the deformation commands, such as Deform on
Surface, and Shrink Wrap (although I wish shrink wrap would
work with a hierarchy of objects like it did in Softimage 3D).
Some other things I miss from Softimage|3D is the use of
Bezier curves with handles, and Cardinal patches. A Cardinal
patch was easier to model with due to the points being on the
surface, and because phantom edge points could be snapped to
adjacent patches to achieve tangency. Then you could convert
the Cardinal surfaces to NURBS surfaces, and apply the
Continuity Manager. This is still a valid way of modeling,
although using the old Softimage|3D interface is frustrating
after using Softimage|XSI. Of course, Softimage|XSI makes up
for still lagging in the modeling department by excelling over
Maya in some animation abilities, as I will show in another
article.
¡¡
|