A guide to re-topologising
A 110 thousand polygon head we will be re-topologising.
Re-topologising a mesh, that's one heck of a mouthful that sounds complex and scary to people new-ish to modelling. Really it's nothing of the kind, it's a simple concept that's easy to grasp and put into practice. Topology are the edge loops on your model, most people are aware that there are certain loops for example a head model should have such as loops around the eye's, mouth, nose / chin etc. Re-topologising is simply modelling with a total disregard for edge loops or 'good topology' and doing what ever you need to get the shape you require then remake the mesh with GOOD topology.
It sounds like a lot of work that can't make a lot of difference doesn't it? Lets imagine you've spent a while making a model in a displacement painting application such as Zbrush, Silo 2 or Mudbox. Even if you have good topology, you end up with a rather dense mesh when you're finished and if you wish to use or paint it in another application you're going to have to mess around with displacement maps. It's rare that a displacement map keeps the same quality of detail as the original sculpt, it can get damn close but not exactly the same.
The model I'll be using for this is something I'm still working on and is far from finished. I used it for two reasons, firstly because it was handy, and secondly that unlike human heads it was a little more challenging.
For this example I'll be using Maya, mainly as it's a no 'topology brush' workflow and the general principles are the same for most of the big applications. I'll outline the way I work as clearly as I can given the restrictions of both space and time.
We're going to set up a little fantasy project for ourselves where we have to create a highly detailed model that our pipeline needs to be able to later paint in Bodypaint (allowing us to paint all the maps at once) and this is then going to be sent to the riggers and animators. Obviously as the stand alone version of Bodypaint doesn't allow you to paint over a displaced model we may have some problems. Plus for all we know the renders for our 'fantasy' animation may be using a render engine that doesn't support displacement maps very well (or at all). But as our high polygon model will be done in an application such as Zbrush, Mudbox or Silo 2 we are going to have to re-topologise it to make it more 'pipeline friendly'.
What we're going to end up with is the same amount of detail but with much less polygons. This means shorter render times; less messing around setting up the scene and model for the riggers later, basically it saves valuable time in the long run.
What application you use to re-topologise your model is unimportant; it's the workflow itself that is the key. I'll show you a few ways of achieving it in a few different apps and this should then transfer well to whatever you're using in your pipeline.
Workflow - The Zbrush Part
Let's assume that our Dragon Head base model from Zbrush (or any other displacement painting app for that matter), has some bad topology, this can be a conscious way you've worked in another application while making the base mesh, or due to using Zsphere's in Zbrush and needing to re-topologise it for rigging.
We're go to try and to keep the detail in our sculpt using a simple and effective workflow. How far you refine this or take this method depends on the project and model itself. You don't want to do re-topologising on a very high dense mesh with fine detail (as this will be added through use of maps most times anyway), the aim is to reproduce the medium level detail well.
Firstly I took my base mesh that I knocked up and detailed it to the level I was happy with. Knowing that I'd be using a normal map or bump map with the final model I didn't take it all the way to fine wrinkles and skin pores stage. This means that once we've got our main forms and medium level detail on our sculpt we can the export our high level mesh. I also cut the model in half I Zbrush by hiding half the mesh and deleting the hidden side. This means as our dragon head is symmetrical that we are only going to have to do half the work (image 1).
But before we go rushing off exporting this model there's two things we need to do, we need, get rid of half the model (thus making it easier to re-topologise the mesh), and paint a texture for our model. No I haven't gone stark staring mad; the texture we're going to paint will have our edge loops on it. This is going to make things a whole lot easier once we take our high level model into Maya (image 2).
But first a word about how we are going to re-topologise. The way I work personally isn't to get to anal about every polygon, but more use my 'poly layout' texture as a guide. You must remember to keep the detail you wish to lay out your edges correctly (image 3).
If you have a crease on your model (say a skin fold etc...) you will need to put in at least 3 loops. One for the lowest part of the 'crease' and the others either side so that the subdivision algorithm is going to see these 3 loops (with one of them lower) and produce the crease of fold that you are after. The same thing goes for sharp 'mounds', you will need to make sure that you have painted enough supporting loops. It is the distance between these loops that defines how sharp or rounded looking your fold will be as a Subdivision surface. You really want to first draw your main loops and then ones for the detail. DO NOT try and start drawing a fine loop texture when you start, but rather add loops as you go for what it needed.
I'm afraid it is a must to know about subdivision surfaces to use any re-topologising technique effectively. There are no short cuts if you wish to make the very most of of this technique. Any artist must know the tools and theory he uses and Subdivision surfaces are just another tool for an artist. Also remember that although you want your loop texture to be tidy it isn't going to be ever shown to anyone, so there's no point making it 'ultra neat'.
Be prepared to revise your loops layout once you get it into the app that you are using. We are all human and sometimes you may wish to add an extra loop where you missed one out. Don't be a slave to your loop texture, it's a guide (all be it a pretty good one) and not the be all and end all of it. The more you correct your mistakes, the more you will learn 'why' the loops work. (People often learn much faster if they work out a problem they have their selves rather than being just shown it). (image 4)
Now let's have a quick word about UV's for this. There is no point on earth spending any length of time doing a full unwrap as we're going to basically junk this version and use it only as a base to draw our new topology on. As a rule I find it easier at this stage just to use a GUV or AUV UV set from within Zbrush. Normally I keep clear of them as I like to do a lot of my texture work these days in Photoshop and the AUV and GUV UV's in Zbrush although evenly spaced are just about impossible to work on in Photoshop meaningfully. For this job they are perfect as the even spacing makes having to worry about having enough UV space to paint on our model a non event (image 5 - Click for a larger image)
The one reason I would fully unwrap a model before doing this is if I was using a pipeline where the models I would be doing this to would have very similar, or the same UV layout. This means I could then simply tweak this map into shape in Photoshop and save myself a bit of time.
With our model ready for export (and making sure we haven't gone mad with the amount of polys we're using in Zbrush), we export the high level mesh (not the low level mesh, once we're redone out topology this low resolution mesh will be meaningless), and save to our work folders. You may have to make sure you flip your poly layout texture map before export as most apps will view it as upside down. You have deleted half of the model as I mentioned earlier didn't you? As I mentioned, this will save half the work of re-topologising the whole mesh and save on memory.
The Maya part (any of the big apps will do)
Now for this I'm using Maya 8 although this will work equally well with any recent version or any of the main applications if it come to that matter. Import your high resolution mesh and make sure your only using half of the model. This will save on valuable system resources so that your computer doesn't grind to a halt (image 6)
Once your model is imported Put it on it own layer so that you can toggle it on and off easily. This again will save some time later as we progress through our re-topologising (image 7).
Now in Maya You want to go to your models 'Shape' tab and under 'Mesh Component display' turn back face culling to full. This makes sure you are only snapping your polygons to the side facing you. No we need to make sure everything that we do is going to snap to this high resolution mesh. So go to your tool bar and with nothing selected press the magnet (on its own not the others) icon, this will make your model 'live'. (image 8)
Now look for the icon that's not far from this, with a magnet and a curved line. This is the 'snap to curve' toggle. Once you've done this your all ready to go. (This means that our polygons we're going to draw are constrained to the surface of our high resolution mesh.) If you're using a different app do a search in your help files for how your particular application handles snapping to a models surface. Once you have this done you'll be able to follow this tutorial with no problem.
Set up a material for your high res mesh with your loop texture applied to it. In some apps you'll have to flip your Zbrush colour map vertically. Once this is applied to your model make sure you can view it in your view port. (In Maya this is done by hitting the '5' key, then the '6' key.) Once you've got your edge loop texture map visible we're ready for the fun part. (image 9)
This is where the fun part comes in, we take our 'create polygon' tool and simply draw each line of polygons as an Ngon (see image). Remember that if you draw you polygon anti-clockwise the normal will be facing you, if you draw it clockwise it will be facing away. We can then go to our polygon menu and 'triangulate' then 'quadrangulate' it and abracadabra one polygon loop! (image 10)
My tip is to work on this in sections, never try and do the whole mesh at once for one very, very good reason.... Crashes. If you PC crashes while part way through redoing the topology your back to square one, so do it in sections and make sure you save regularly as usual. It also helps to outline the areas that you really want to get 'spot on' first such as the eyes, mouth etc. Its worth remembering that you can save some time by doing alternate strips of polys and using a 'bridge edge tool' in Maya or whatever application your using. The reason we wont lose any detail doing this is because the 'in between polygons' share the vertexes of the polygons at either side of it. This can also come in really handy for stitching the various parts together that you're re-topologised. (image 11)
Work your way around your mesh in ngon strips converted into polygons, as outlined above, and then merge the vertexes of these strips together. (Make sure you don't have any stray vertexes or you'll have a little clean up to do at the end). (image 12)
Once you've spent time doing all of this you should now have a new mesh with better topology. Now I'm not going to kid you and say this is a really interesting job to have to do. In fact it's mind numbingly boring after a little while, but its well worth the effort. Take my tip and stick some music or TV on in the background while you work.
Once we're finished we'll have a re-topologised model that will be easier to rig and use in other applications and with any renderer. If you're so inclined you can also import this re-topped mesh back into Zbrush and get even higher detail out of it, but that's not the purpose of this particular tutorial.
Once finished you can even use a shrink wrap script or plug-in. Working this way you can subdivide your model and each time shrink wrap it to the high res mesh. This way you can end up with exactly the same detail without remodelling the model.
If you're using an application like XNormal that can create normal maps from maps with different topology you can even make one with a low polygon count for rigging, and another with all the large and medium detail and use these to create your maps.
You obviously want to do a good unwrap at this point before exporting a thing, what sort of map you produce depends greatly on in house styles and requirements and if it's a game model your producing or something for animatics or films. Another tip would be to try and make sure it's as easy as possible to do work in Photoshop on it, even if you're using another app for your texturing, there may well be times when you need to fix a few things in Photoshop.
You can of course take your model back into Zbrush or any other application for texturing (or even adding finer detail) with this re-topologised mesh. How you take it from here is up to you and your pipeline. You can see the final re-topologised base mesh of the dragon's head I've been using to outline this method below. (image 13)
Notes about other apps
Obviously Maya was used for this tutorial as its probably the biggest pain in the backside to use. Any application that allows you to draw polygons on the surface of your high res mesh will do the same job. Users of 3D Max may want to look at the 'Polyboost' plug-in as it has features that make the job a whole lot easier. It includes a 'topology brush' feature and a whole host of 'polygon strip' features meaning you can paint your poly strips straight onto your mesh with no messing about.
Other apps have topology brush features such as Modo and Silo. Although I would still not be too tempted to draw your polygons 'blind' in these without your edge loop texture as a reference. What application you use is really up to you as most are capable of this workflow or slight variations on it. Although to be frank whether you wish to buy either plug-ins or an app with a topology brush feature just for 're-topologising' wouldn't be my first choice to be honest. Once you understand the approach to the workflow it's portable to most applications
So I've given a handful of ways of doing this in some applications and you should be well on your way to being able to model without the worry of edge loops or topology. If your used to modelling with good topology it can be extremely freeing to just 'go for it' and model by the form alone, it can produce fast and effective results that would take longer normally. The idea of not having to work out how to get rid of that 'problem 5 sided Ngon that messes up the nice clean topology whenever you sort it out' makes for a happier easier modelling life