7
$\begingroup$

I'm trying to bake a normal map from a high polygon model to a low polygon one.

It's a very simple domino shape. When I use the normal on the blender render, I get this strange shape at the border of the shape

Strange corner shape

I'm not really sure what I'm doing wrong. Is the low poly shape not detailed enough? Is it too big or too small?

Here is the link to the .blend.

Edit:

OK, after Mr Zak's answer I managed to understand why the baking was not creating a normal in the correct size. It was because both objects didn't have the same scale. I've applied the scale for both objects and now the normal and diffuse bake seemingly correctly.

Unfortunately, I still have the issue with the result not being as I expected

enter image description here

As you can see, it goes all the way to the borders now, but it has a weird shape.

For the record, this is my high poly

enter image description here

As you can see, the UVs are well inside the normal map, and for the diffuse it's a simple blue diffuse.

Normal map with UV

I really don't understand what I'm doing wrong with the way I bake the high poly to the low poly. could it be that my low poly is too low poly?

Here's an updated .blend.

$\endgroup$
9
+50
$\begingroup$

Let's start with vertext normals of smooth and solid shaded mesh:

enter image description here

Now see this diagram how baking works and projects the high-poly to lowpoly:

enter image description here

In each corner of your domino piece you see 3 corners baked, because of Repeated details. You can fix this by making the lowpoly domino shade smooth - that way there will be only 1 vertex normal in each corner, so you won't get overlaps and multiple projections:

enter image description here

If you want your domino silhouette to look better, you will have to add mode polygons. See: How can a Normal Map affect the look of a model?

There is also very comprehensive wiki about normals which might help: Polycount Normal map (the pictures are from there).

$\endgroup$
  • 2
    $\begingroup$ Excellent answer, and some very pretty diagrams! $\endgroup$ – VRM Nov 24 '15 at 15:26
  • $\begingroup$ Putting the shading to smooth does indeed fix the issue. And with your excellent answer I know understand the reason why it was not working as I expected. Thanks. $\endgroup$ – Gimly Nov 24 '15 at 19:43
  • $\begingroup$ You can actually extend this answer quite a bit - in other workflows, you might well need to split those edges instead; the most important thing is that your target mesh when you're projecting the bake, has the same vertex normals as your final low poly that you're displaying the normal map on. here are some useful links: polycount.com/discussion/81154/… oldwiki.polycount.com/NormalMap polycount.com/discussion/147227/… $\endgroup$ – MaVCArt Nov 25 '15 at 16:59
3
$\begingroup$

That red border is red material assigned to model and seen through diffuse map.

If you look closely at the "Diffuse" texture when UV map selected, you can notice that there are regions where UV map is larger than the texture:

enter image description here

These areas will be visible on the model:

enter image description here

And because of alpha-transparency presented in image, the black areas, marked on the screenshot, will be transparent, revealing everything underneath. So you'll see the material (which has red color as diffuse):

enter image description here

Note that deleting alpha-transparency won't help: those areas will become simply black.


Possible solutions might be to create (or edit this) image which should be a little larger so to have several pixels border around UV map.

$\endgroup$
  • $\begingroup$ Thanks for the help, it was definitely part of the problem, but not all. I now have another issue. I've edited my question with where I am now with the issue. Thanks for your help. $\endgroup$ – Gimly Nov 23 '15 at 8:38

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.