Artsy Rants

Retopo For Fun and Profit

  • February 24, 2016

In a previous post I went into a little detail about sculpting a model as though it were made of virtual clay in an app such as 3D Coat. I mentioned that, once you’ve sculpted in the desired detail, the next step (in order to return your model to a mesh that you can animate) is something called “retopology” (or “retopo” for short).

Let’s explore how that process works. In sum, you draw your new mesh over the top of the sculpted model and the new polygons adhere to its surface. Think of wrapping a dressmaker’s dummy in cloth as you cut and sew a new garment. If that sounds tedious, you’re right—but thankfully good retopo apps provide tools to make the task less so. As you add polygons your focus needs to be on not only capturing the shape of the sculpt but also insuring good poly flow so the finished model deforms well when being animated.

What is a good poly flow? There is a lot of wiggle room technique-wise but there are also many general tried-and-true approaches for various areas of a model. In most cases you want the rows of polys, the “flow,” to mimic the way muscles are aligned if the model were a live creature (I’m focusing on character modeling in this piece, so you hardbody guys just pipe down for now).

First and foremost you need to be aware of “edge loops,” rings of connected polygons that encircle critical areas of your geometry. Here’s an example of good poly flow in the topology of a human head:

face

Going with the flow.

Note how the key facial features are both surrounded and defined by circular groups of polys: those are edge loops. Compare the differently-colored areas to how actual human facial muscles are arranged:

face

Make a face!

This model will deform well and the animator who needs to alter the shape into various “morphs” representing expressions and phonemes (or who has to rig the face if it’s not going to be animated using morphs) will thank you for these tractable, easy-to-manipulate loops.

Okay, so let’s dip our figurative toes into the warm waters of creating this new topology. I’ll use a couple of my recent modeling projects as examples of how I tackle the process.

First let’s meet my friend George, my new dragon model. This is how he looked after I did the primary modeling in Lightwave 3D, a traditional polygon-based modeling and animation app (that IMNSDHO rocks hard core):

dragon

Where’s Pete? I’m hungry.

Note that I intend to add the wings in a later stage of construction. Now, that actually isn’t a bad build already, but I want to use sculpting to tweak the muscle and facial details and to alter the model’s base pose and proportions. Such alterations can still be done in poly mode but I find they’re much easier to manage when the model has been converted to voxels where I needn’t worry about the polygons any longer.

Here’s the same model in 3D Coat after voxel conversion and the aforementioned tweaks and adjustments:

dragon

Getting buff and tan the easy way.

Now, there exists in some apps a feature for automating retopo. Sometimes that operation yields nice results, especially for static models, but in practice I find it to be severely lacking when a mesh needs good poly flow for serious animation.

For the fun of it, let’s first have a play with how 3DC handles automated retopo. First thing you do is set a “polygon budget” defining how many polys the new mesh can have. You then paint areas where you want the algorithm to spend most of that budget so as to capture more detail in those areas. In this case here are the areas I decided ought to get the most geometry:

dragon masks

Red’s not a good color for him, methinks.

After masking the high-density areas you can draw some strokes on the model’s surface that will guide the algorithm as to your desired poly flow, but it’s far from perfect. This is what I ended up with during this experiment:

dragon painted

Plain green wrapper.

Okay, so that’s not really all that bad, and it was very quick to achieve. In many cases you might stop here and move on to UV mapping (I’ll cover that process in another post) so you can texture it. I have higher aspirations for this model, however, including intending some tight close-ups of it speaking and emoting, so this mesh is simply not going to be good enough for my purposes.

On to manual retopo!

The first question might be: where to start? Again, everyone has their preference but, in general, best practice is to start with the critical, high-deformation areas. Once you get those nailed down you can stitch them together using lower-density groups of polygons in the areas that won’t be deforming much (if at all). I personally always start with the eyes and then do the mouth. From there the process of wrapping the rest of the head and blending in those critical areas is rather straightforward.

The cool thing about a good retopo app is you aren’t stuck just drawing polygons one at a time. Ugh, how awful would that be?! In this case I’m going to start by drawing a set of concentric rings around the eye socket to define where I want the first two edge loops to go. I need three rings, because the polys will be drawn between them, and I’ve pre-defined this tool to create 12 polygons around the circumference of the loops. That number is somewhat arbitrary and represents my favorite answer to enough geometry to work with versus not too much to manipulate later. I then draw a single spline cross-cutting the rings about where I want one of the edges to appear:

eye rings

Pocket full of Posies?

Note that as you draw your guide splines the app keeps the results firmly affixed to the model’s surface regardless of your viewing angle as you work. Pretty cool! Now that the guides are in place, you simply hit the enter key and et voila:

ICU!

ICU!

Not a bad start at all! Those polygons are a mite wide to capture the curvature of the eye socket’s edge, though. I drew them purposely larger to cover more surface area with the initial draw, but tweaking this after the polys are in place is a snap; well, a split. A “ring split” to be precise.

You simply enable the split tool, slide your pointer around until the new edge is placed where you want, then click. Boom, and boom again: now two edge loops become four with a minimal number of splines needing to be drawn.

The polys were fruitful and multiplied.

The polys were fruitful and multiplied.

Much better geometry for capturing the eye socket shape, and the actual process took less than 60 seconds. Again with the coolness: when those polys were split the new smaller ones automatically shifted to more closely conform to the model’s surface. Magic!

Now it’s time to start drawing polys—but don’t groan just yet! There are more tools afoot! In this case I’m going to use the “quad” tool, so named because it’s focused on quickly creating four-sided polygons, or quads, which are the preferred shapes for well-deforming models. Three-sided polys, or tris, are acceptable if you absolutely must (sparingly) use them to make a flow work, but n-gons (in the jargon any poly with more than four sides) are right out. There exists a subdivision algorithm designed to handle n-gons but in practice you really get better results sticking to quads.

With the quad tool enabled, I simply select an edge I want to start from. That already fixes two points of the four I need for the new quad, so all I need do then to is click once, click a second time, and when the new corners are thus defined the new quad appears.

quad tool

Gettin’ clicky with it.

Then—and this is part of the magic of a good retopo tool—the suggested next edge is already selected and you can go right on clicking to start the next quad:

more quad tool

More of a good thang.

Thus can you very quickly throw down scads of polygons, all hand placed exactly where you want them, with minimal muss and fuss.

We’ve now seen how to make edge loops rapid-fire around a somewhat flat area, but how about less-flat ones such as limbs and digits? I’m glad you asked!

We’re going to employ much the same idea as before, drawing guide splines and cross-cutting them, but to get the rings around a given limb (such as a forearm) we’re going to “slice” it. That means you first align your viewpoint so you’re looking at the object as close to perpendicular as you can, then you drag the pointer across the object with the start and end points off the model on either side. This gives you a perfect ring around the limb that follows the path you drew and is exactly perpendicular to your view. If you’re sloppy with your view setup you’ll get slanted rings (which might be what you want, but usually not).

Here’s an image of four slices of the dragon’s forearm along with the cross-cutting spline:

arm slices

Sliced and diced.

Just as with the eye loops, hit the enter key and admire the new geometry:

sleeve wrap

A new sleeve, minus the needle and ink.

Okay: maybe not admire, not yet. That’s a pretty crappy fit, non? Fear not! Again, just as before, I drew a minimal number of curves so as to sketch out the new geometry very quickly. Time for more splits! Activate the tool, clickety-click click and now the new mesh is a much better fit:

new sleeve

It’s a wrap!

So, are you seeing a trend here? Draw big to cover a lot of area quickly, then just as quickly subdivide where appropriate to fine tune. After that there are other tools for moving the individual points and polys around (still conforming to the surface), relaxing (shifting to reduce sharp angles between polygons) whole sections of the new mesh, adding and deleting edges, and even adjusting the spacing between rows of edges to clean up jaggy lines and generally smooth out the stuff you’ve placed by hand.

To wrap up (see what I did there?) here’s a look at a somewhat more complete facial retopo job, this time featuring the gargoyle model I’ve previously talked about:

gargoyle

What a cutie!

Notice how the eyes, nose, and mouth are encircled by edge loops which are then connected by the poly areas defining the snout and brow. The snout has some extra density to capture the wrinkled skin details, and the upper lip is also higher-density than the lower to accommodate anticipated emotive morphs such as speech or snarling. I’ve actually started doing some preliminary experimental animation work using the pre-sculpt version of this model as a placeholder, but any actual films featuring him will be employing the fully-detailed model (once retopo and mapping are complete).

You might (correctly) have observed that after retopo the new mesh doesn’t appear dense enough to capture really finely-sculpted details. Those are added later, using additional tools such as bump, normal and displacement maps. These maps allow you to apply textures to the model’s surface that define areas of push in or pull out. In the first two cases the effect is purely visual and works over a low-resolution mesh; the last one, displacement, actually displaces the geometry according to the texture map and is less-often used because it does require denser polygon counts to be able to follow the displaced shapes.

In a future post I’ll talk about UV mapping and how it’s used for these detailing maps as well as for the actual coloring (diffuse) maps to be applied to the model.

And there you have it: using sculpting tools to enhance your model and retopo to bring the new version back into the polygonal fold. Hope you’ve had fun reading my mindspew!

Please let me know what you think in the comments. I like comments.

Spinland Studios, LLC is a high-tech branding and marketing studio in the Mohawk Valley of Upstate New York. We leverage the power and magic of 3D modeling and animation to take your company’s image places you can only imagine. Defy conventional marketing and bring your brand to life! Visit www.spinland.studio for more information and examples—then hire us to boost your company’s marketing image into the 21st century!


Spinland Studios, LLC is a proud member of these organizations (click each to learn more)