0
$\begingroup$

I've been trying to bake details that i imported from an SVG file and merged to my high poly mesh to the low poly mesh. I've put enough extrude to take them into account but my baking always fails as you can see in the picture. Would someone know what's wrong ? Normal baking failed

$\endgroup$

1 Answer 1

1
$\begingroup$

To understand what’s going wrong in your example, it is important to understand the difference between a displacement map and a normal map:

  • A displacement map stores a positional displacement for each point on the base mesh.

  • A normal map stores a perturbation of the angle of the surface at each point on the base mesh.

This is to say that while a displacement map stores actual position information, a normal map only stores a rate of change in position at each location.

There are pros and cons to each of these representations, but one of the downsides of normal maps is that they cannot handle excessively sharp/sudden displacements, such as geometry like this:

At each point along the border of the ampersand, the height of the surface instantaneously increases. This also means that the point on the surface where the change in position is non-zero is infinitesimally small. Indeed, if we look at the cube from straight ahead (which is the 2D projection used by a normal map on the surface of the cube), the border of the ampersand is completely obscured, and the normal map is utterly uniform:

To fix this, we need to ensure the displacement relative to the base surface is continuous. That way, the rate of change will be finite and spread across an area of finite size. The easiest way to do this is to add a bevel:

Now the view from straight ahead is no longer completely uniform:

And indeed, if we bake this normal map to a plain cube, we do in fact get a more acceptable result.

$\endgroup$
1
  • $\begingroup$ Thank you so much for this very clear response i learned a lot :) $\endgroup$
    – Zechodian
    May 14, 2021 at 13:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .