Normal map baked in Cycles look weird.

Hi all!
I’m making creatures to use in my game project.
When I bake normal map from high poly, weird thing happens. Some body parts are projected onto other body parts and leave ugly stain. Specifically, horns cast shadow on neck, front legs on body, and back legs on one another.


At first I thought it’s because of ray distance but even when I set distance as low as 0.01, the problem still remains. Any figure lower than that doesn’t have enough detail so I cannot use anyway.

There’s no flipped face. No UV overlapping either. Location, Rotation, Scale and Dimension all match.
I googled for weeks now but couldn’t find anything. Now I’m just banging my head against the wall.
Does anyone know how to solve the problem??

Do you have crossing geometry ? If so you have to sculpt your mesh to remove that.
If not, can you provide the blend file?

I tried to upload the blend file but for some reason it doesn’t work. Maybe too large. Let me find some other ways to upload it.

Meanwhile, could you elaborate on your speculation? I don’t fully understand what exactly ‘crossing geometry’ is.

maybe overlapping geometry is a more appropriate word.

Here’s the blend file.
Please take a look.

I’m so sorry, I didn’t get notified of your reply :(. There seems to be a bug with the notification system on BA.
I baked your model several times but I only got the same issue by increasing the distance to about 1, which is a crazy value.

In case you have trouble understanding how the ray distance works, think of a point starting a x Blender unit above a point on the retopologized mesh (“above” meaning along the normal, not above vertically) and going towards the point on the mesh (following the normal) and pursuing its way to x Blender unit below. The first thing it hits is what will be rendered. So if you set x too low, the point will not hit anything until it reaches its destination, which will show a 0.5-0.5-1 pixel (flat normal). But if you set x too high, the point will hit another part of the mesh before hitting the desired part.
For example, 1 Blender unit is enough for a point on one leg of your creature (in the in-between part) to start from inside the other leg.

If I was not very clear tell me, I can make a diagram to explain better.

With a distance of 0.06 I get this result :


it still has some little “hot” areas but that may be due to a very high proximity of some mesh parts. Also you should probably fill all the holes of your retopologized mesh before baking and delete the faces you don’t want afterwards.

Finally, to get a good normal map, you usually need to bake a couple of times with different distances and save both images. Then combine them and mask the parts that baked improperly on one image to reveal the proper part on the other, because a single distance is not enough to capture the entire range while not crossing other parts. So a 0.005 distance can be used to capture the corners with high proximity and a 0.1 distance can be used to capture the parts where the retopologized mesh and original mesh have bigger gaps between them. I usually combine about 3 baked normals in my models.