13
$\begingroup$

I understand that one uses normal baking to bake the normals of a high-resolution (sculpted, in the millions-of-polys range) to an image, which are then set to the normals of the low-resolution (retopologized, in the thousands-of-polys range) mesh to create the illusion of higher resolution, as shown in the following image from Wikipedia:

Normal mapping example

To save the normal of each vertex to an image, the mesh would have to be UV-unwrapped. However, as I understand it, the entire purpose of retopologizing is to get good topology that can be used for UV-unwrapping. Even if you unwrap the high-resolution mesh, how do you unwrap the low-resolution mesh with the exact same configuration, such that the normals are projected properly?

Or, phrased more succinctly:

What exactly is the workflow for sculpting, retopologizing, and normal-baking?

$\endgroup$
  • $\begingroup$ The Unwrapping is preserved when you duplicate the model. And the duplicate would be sculpted and then baked. $\endgroup$ – Vladimir Aug 5 '14 at 19:57
  • $\begingroup$ @Vladimir Isn't it often the case that you start with a high-resolution model that is later decimated, not a low-resolution model that is built up? The original base mesh may not have sufficient topology for a good UV unwrap. That's an interesting idea, though. $\endgroup$ – wchargin Aug 6 '14 at 14:51
12
$\begingroup$

The high resolution mesh does not need to be UV mapped at all. Baking the normal map works by calculating the difference in the surface normal between a particular point on the low resolution mesh and the nearest point on the high resolution mesh. As long as they are sitting on top of each other, everything should work as expected.

Meshes, wireframe, result

Above you can see the two meshes are on top of each other (the middle image is only the wireframe of the left image, not another mesh) and the resulting normal map.

So the position of the surface is used to determine which points on the low and high resolution meshes go together, the UV of the low resolution mesh is simply the target output of the bake and no UVs are used in the calculation of the normals, thus the high-res mesh doesn't need any.

Also, clean topology is also important for correct deformation in rigged models. As long as there are no overlaps and the islands aren't too close together (3-5 pixels is usually fine) the quality of the UV map isn't too important.

Thus the workflow is:

  1. Retopologize the sculpt
  2. Unwrap the low-res mesh
  3. Place them on top of each other (if they aren't already)
  4. Select the high-res, then the low-res mesh
  5. Tab into Edit Mode of the low-res mesh, select everything
  6. Make sure you're using Blender Internal render and create a new image. I recommend enabling 32-bit Float to prevent any banding or other image artifacts.
  7. In the bake panel, choose Normals for the bake mode and enable Selected to Active
  8. Hit the magic bake button
  9. When it's done, save the image as an EXR or a 32-bit format, otherwise some of the information in the normal map will be lost and you'll get obviously visible banding.
$\endgroup$
  • $\begingroup$ Thanks! The part I was missing was the "select the high-res, then the low-res mesh" and the fact that it maps to the retopo'd mesh's UV. $\endgroup$ – wchargin Aug 20 '13 at 22:57
1
$\begingroup$

It depends a lot on your specific use-case. For the example image you give, you could use Blender's built in Decimate modifier to get a low poly mesh. Blender does a good job in automatically keeping the texture wrapping in place. So you don't need any extra work.

If Blender's Decimate fails. Then you should look up MeshLab, it does a better job than Blender in decimating on some models. http://meshlab.sourceforge.net/

$\endgroup$
  • $\begingroup$ How about when you're retopologizing by starting from a brand-new mesh and using shrinkwrap, Contours, or similar? There's nothing to decimate there... I think this is a much more common use case because Decimate produces terrible topology. $\endgroup$ – wchargin Aug 20 '13 at 4:01
1
$\begingroup$

The most common workflow would be -

  • Sculpt a high-resolution mesh
  • Retopologize the model using the high-resolution sculpt as reference
  • UV-unwrap the new low poly mesh
  • Bake the normal map
  • Apply the normal map as part of the texturing process

While it is considered good practice to construct a mesh with good topology, it is really only compulsory if you wish to animate the final model. That is if the model is a static statue the need for good topology decreases, so a quick decimate of the high-resolution mesh is a sufficient base to use for the normal map. If the final model is to be animated then you need good topology to get a model that deforms smoothly.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.