Posted by on Mar 6, 2013 in Tutorials | 6 comments

Reprojecting Details in ZBrush

What the heck is this all about?

Let’s start off with discussing what reprojecting is and why you need it. Lets say you’ve been sculpting in ZBrush and you have something you’re happy with. At this point, you might want to take the sculpt into a finished state. In order to do so, you need to retopologize your model. This basically means that you’re re-modelling it, most times in a package dedicated to retopologizing, like Topogun, 3D Coat or modo.

 

Here we see the a model which is ready for retopology. In the highest subD level, it looks fine, but in the lowest, it’s completely broken. For a still image, the top one might be fine for certain scenarios, but there is no way you can use it for any kind of animation, particularly not if  it’s going to deform heavily. You will get a nervous sweat just thinking about rigging or deforming this model.

The solution? We retopologize, or retopo for short, the model. This is just a fancy word for remodeling it.

 

Here you can see the retopoed version. I did end up scrapping the topology completely in the end, but for illustrational purposes, this topology is absolutely fine.  I’m using modo for retoplogy as I find it best suited for my needs. Topogun has some more advanced features, but it’s also lacking some core modeling tools. If you’re into retopology, I can highly recommend trying out modo for the job.

 

 

So now we have a clean model which could be animated. Even for a still image, it’s a good idea to have a somehow decent topology. The reason is that it will be far easier to UV map, it will be way lighter in your scene in terms of polycount and it’s easier to add very fine details if the polygons are evenly distributed.

 

So in short, we want to add all the sculpting from the ZBrush sculpt onto the new and clean topology.

There are several ways of doing this – some automatic and some manual. Each have their pros and cons. I’m going to go over two methods here, one which is fast and sometimes unreliable and one which is slow, but rock solid in all cases.

 # 1

This is the automated way which is really fast, but also unreliable. You should know that it exists though as it might be useful in some  cases. The reason I don’t use this technique that much is that I cant rely on it fully. I’d rather spend 10 minutes extra doing it the manual way than to spend an hour trying to fix issues.

 

1. In ZBrush, make sure that the original sculpt is selected. Go to the lowest subD level.  Then go to Tool – Import and find your .obj-file.

2. You’ll get up this little pop-up. ZBrush has recognized that you basically want to transfer details from the original sculpt to the new model. Click Yes.

 

 

 

 

A progress bar will appear in the top of the UI. Just be patient and wait. When ZBrush is working like this, I just leave the computer alone. Sometimes, it enjoys crashing if you touch it.

 

And this is the result. It will mask the areas which are similar and leave areas which are different unmasked. Just Ctrl Drag on the canvas to clear the mask.

 

 

As you can see, there are some pretty bad areas here which will require cleanup.

 

The only way you can actually fix this, is to go crazy with the smooth brush and resculpt those areas.

 

This is a pretty fast way of doing it as the projection stage is automatic. However, it’s not a particularly clean way of doing it.  Method #2 is far cleaner, but takes more time.

 

#2

This is my preferred way of working. It’s more complex and it takes more time, but it’s rock solid and it will work every time. The basics of this is that we store a morph target before we project. After the projection, the geometry will have some nasty artifacts. We now switch back to the clean version and we use the morph brush to paint back in the details we want. If that sounds confusing, read on.

 

1. This time, we dont select the high res model and import on top of it. Instead, we import the freshly cooked topology into the project.  Select the PolyMesh3D (the star) and go to Tool – Import. 

 

The clean topology has been successfully imported.

 

If you get this message, that means that you have ngons in your mesh, which freaks ZBrush completely out. It’s also not a big fan of triangles. Keep all quads when working with models in ZBrush.

 

 

2.  Go to your original sculpt and and append or insert (whatever you prefer) your newly imported mesh.

 

It should now look something like this, with the clean topology being in the SubTool-list.

3.  Go to your newly imported model and subdivide it to the subD level you need. Ctrl + D a couple of times. I’m bringing my model up to around 3.6 million polygons.

 

4.  Go to Tool  Morph Target  and hit StoreMT. This will do exactly what you think it will: It will store a morph target. This is often referred to as a blend shape in other applications, such as Maya. A morph target is in short just a copy of the model in a certain state.

5. Make sure that ONLY the new topology and the old sculpt are visible. If you have any other subtools, hide them now. If they are visible, they will be a part of the projection, which will mess it up completely.  Make sure that the NEW topology is selected. This is important.

 

6. Now it’s time to finally project the information from the original sculpt.  Go to Tool - SubTool – Project – ProjectAll. I wont cover what the various sliders and buttons are doing, as the doc does a pretty good job of that. Just note that you want to be aware of the PA Blur. This will blur the projection, which is extremely bad if you’ve sculpted a lot of very fine details. Overall though, the default settings are good.

 

It will also transfer polypaint data. If you have polypainting on the subtool, you’ll see this message. I’m choosing NO as I don’t want polypainting transferred.

 

 

You’re now going to see a friendly slider go across the screen. Let it work for some seconds.

 

As you can see, there are some major issues here.

 

These issues are unavoidable as there will pretty much always be differences between the original sculpt and the new topology.

So how do we fix this? Read on, soldier.

 

7. Remember that morph target we stored earlier? This is where it comes into play. The morph target stored a copy of the clean mesh which means that we can now revert back to it. Go to Tool – Morph Target and hit Switch. This will revert the model back to its original state before any of the sculpting.

 

Before and after switching.

 

 

8. This is where the magic happens! We can now paint back in the projected details by using the often forgotten Morph Brush. Hit B M O to access it. Enable symmetry by hitting and start to paint in the details again. The trick here is to avoid painting in those areas which are broken. The broken areas will have to be resculpted.

 

The eyes are nearly always messed up by the projection, so I mask them out early on by holding down the Ctrl key while painting.

One region of the mesh painted back in, avoiding the trouble areas.

 

And here the final projection with the new topology. All in all, this normally takes 5-20 minutes, depending on how much clean up there is.

 

Common mistakes

- The two models arent matching in scale, position or orientation. If you’ve moved the model at all when retopoing it, and you try to reproject details, you’re in trouble. The only way to really fix this is to match the original sculpt to the new topology again. This is tedious and sometimes hard, but it’s pretty much the only way to fix it.

 

Conclusion

There are probably a lot more ways of doing projections of details in ZBrush, but these are two ways which does work, #2 being what I personally use. Knowing how to do this will be very valuable in a production. There is always something which needs to be reprojected in some way or another.

 

Thank you for reading this far, you fine person. If you have any comments, corrections or general feedback, feel free to send me an email at henning.sanden [at] gmail.com

  • http://twitter.com/ryderb ryderb

    Huge thanks! I was just about to start trying to figure out how this worked.

    • Henning Sanden

      Anytime! Let me know if you have any problems :)

  • Adan Vazquez

    Thank you so much for this tutorial, it’s extremely helpful. I should mention I laugh a lot with that name you give to the fish, haha. Once again thank you!

  • Kendrick

    This seems pretty cool, looking forward to trying it out on my next asset. Thanks!

  • jb

    Man, I’ve been looking to find this solution for weeks. Thanks for your tut.

  • http://iskanderc4d.blogspot.com/ iskander71

    just what I was looking for a long time !
    thank you very much !
    (I didn’t realize what to do after retopo !!)