 |
| Patches: Subdivision Surfaces | |
 |
New in v3 is the ability to fit Catmull-Clark subdivision (SUBD)
surfaces.
Figure 90. SUBD Mode |
 |
Creating SUBDs in CySlice follows a very similar path to the NURB
fitting process. First the network structure is laid out by placing
points and drawing boundary curves on the polymesh. When you are
ready to build the surface, simply click on the
SUBD
button in the
Patches
panel to tell CySlice you want to work in SUBD mode (see
Figure 90).
Whenever in SUBD mode, the
Patches
panel will expand to show the
V/T/Q
readout. This indicates the minimum and maximum valence (V), the number of
triangles (T) and the number of four sided polygons, or quads (Q), in
the SUBD hull/cage.
You can switch between NURB and SUBD mode at any time simply by
clicking on the
NURB
or
SUBD
buttons. In fact, you can load an old NURB fitted SLICE file and
convert it into a SUBD surface with a click of the
SUBD
button.
 |
Creating SUBD Patches |
 |
In exactly the same way that NURB surfaces are created, you start
building a SUBD surface by creating patches, and you do that by
placing seeds into curve bounded areas.
Figure 91. SUBD Patches Created |
 |
The left side of
Figure 91
shows a couple of curve bounded areas, and the right side shows the
results after a seed is dropped into each.
This is where the NURB and
SUBD fitting processes begin to diverge. When in SUBD mode, the
surface isn't constructed or updated until the
Rebuild
button is clicked. Until that time, new or modified patch grids are
drawn in red.
Note:
Make sure the
Grids
option in the
Display
panel is enabled so you can see the patch grids.
Figure 92. SUBD Surface Built |
 |
The left side of
Figure 92
shows the patch grids after a
Rebuild,
and the right side shows the new SUBD surface topology. Where-ever
possible, CySlice will create quads in preference to triangles. You
can see from the base topology that the 4 to 2 drop-down in patch
resolution is achieved with a triangular looking quad. Any resolution
change that is a power of 2 (e.g. 2 to 4, 4 to 8, 8 to 16 and so on)
is guaranteed to be all quads.
Note:
To see the surface topology, make sure the
Base
option in the
Display
panel is enabled.
Figure 93. SUBD Surface and Hull |
 |
The left side of
Figure 93
shows the blue shaded SUBD surface (NURB surfaces are shaded red).
The right side shows the control hull (some people call it the
"cage") of the SUBD surface. The hull has identical
topology
to the base, but the
geometry
is pulled out so that the resulting SUBD surface lies directly on top
of (not somewhere within) the source polymesh.
In some situations, the strict requirement that the subd surface lies
exactly on the source polymesh causes the hull to be pulled in
exaggerated directions causing artifacts in the final surface. You
can see this happening in the hull above, and it will always happen
around the "resolution change" triangular shaped quads.
Note:
To see the SUBD surface hull, make sure the
Hull
option in the
Display
panel is enabled.
 |
SUBD Fit Points |
 |
By placing
Fit
points in strategic locations, you can control the hull calculation
process. Move the mouse pointer over a vertex in the base topology,
then hit the
<;>
key to place a fit point.
Figure 96. Green Fit Points |
 |
More often than not, the black fit points are all that's needed to
fix most fitting problems. However, in some cases you might like to
try the green fit points (see left side of
Figure 96).
They are created by hitting the
<;>
key with the mouse pointer over an existing black fit point.
Green fit points disable any fit calculation at their location; the
location of the hull control point is exactly the same as the base
grid at that point. This means that the resulting surface will lie
above or below the polymesh, but in some cases this might be the best
option.
Figure 97. White Fit Points |
 |
White fit points (see left side of
Figure 97).
are created by hitting the
<;>
key with the mouse pointer over an existing green fit point.
White fit points cause the affected hull points to be averaged
between surrounding control points. They can be used to smooth out
wrinkles in the surface when the underlying base mesh is distorted.
The
<;>
key is used to cycle between black, green, white and no fit point.
 |  |
The
<:>
key can be used to quickly remove a fit point.
|
 |
Very Simple Patches |
 |
Figure 98. Very Simple Patches |
 |
Patches that have some boundaries with no divisions are a special
case when building SUBD surfaces in CySlice. The first image in
Figure 98
shows a simple network of 6 open regions; notice how there are no
divisions on some boundary curves. The second image show the network
with 6 patches added; everything looks fine until the surface is
shaded (middle image).
Four regions are filling fine; they're either 2 by 2 or 1 by 1 and
there's no difficulty in deciding how to fill the space with a grid.
But two regions are empty; some boundaries have no divisions and some
one, and exactly how to fill these regions is ambiguous.
The final image in
Figure 98
shows more curves added to explicitly define how the two empty
regions should be filled. By forcing you to define the gridding in
these cases, CySlice is ensuring its done exactly how you want. Plus
it reduces the chances of there being mismatched topologies between
templated networks, something that would be a major problem if you
wanted to use them as morph targets.
 |
Spikes 1 |
 |
Figure 99. Valence 2 Spikes |
 |
Figure 99
shows a subd network fitted over the end of a finger. In this case
the tip is fitted in two halves, each a four sided patch, two
divisions on each boundary. This seems like the most obvious way to
cap the end of the finger, but it'll produce a big spike in the SUBD
surface.
The cause of the spike is a limitation in the underlying mathematics
of Catmull-Clark subdivision surfaces; what happens at valence 2
vertexes is undetermined. The
valence
measure is the number of faces adjacent to a vertex in the SUBD mesh,
and in
Figure 99
you can see that only two faces share the point on the tip of the
finger.
Figure 100. Use 3-sided Patches |
 |
Figure 100
shows one solution to the spike problem; two three-sided patches are
used to fill in the two halves, with four divisions on the base, and
two up each side boundary. The resulting SUBD mesh now has a valence
of 4 at the tip of the finger, and the spike has gone.
 |
Spikes 2 |
 |
Figure 101. Duplicate Patch Spikes |
 |
Figure 101
shows another situation where unexpected spikes may appear. The
network on the left looks quite normal, but when the SUBD
surface is shaded, unusual spikes appear (middle image). Another
indicator of this particular problem is if red crosses show up when
the SUBD surface is first shaded with the
HQS
(High Quality Shade) button (right image).
The root cause of the problem is that the right hand region has
accidentally been filled with two patches. The overlapping topology
confuses the SUBD fitting code, and there's probably some valence
2 vertexes produced, which in turn cause the spikes to appear.
The solution in this case is simple; delete one of the right hand
patches and do a
Rebuild
to check the result.