High poly normal map baking issues

Hi there,

I’ve been tearing my hair out for a while now over this so hopefully some Blender wizard will come along and save the day!

I’m baking a normal map down from a high poly to low poly and keep getting various issues in the output.

The first issue was with edge artifacts when my UVs are merged as I want as few seams as possible:

From what I’ve read, this would work better with split UVs at hard edges but that’s not ideal for game engine use as that means a much higher vertex count and seams everywhere that need to be hand painted to correct.

So to combat that I created a second set of UVs with my ideal layout, being merged for the sake of performance and texture painting. I baked the normal from the split UVs to the merged UVs but this didn’t seem to work properly. When laid side by side in viewport, the two normal maps on the same object applied with different UVs looks identical. But it won’t render the same in Cycles or Quixel, etc.

I think this is because the split UVs have padding around them so don’t ever stop on the UV edge like the merged UVs do. This causes horrible aliasing on the edge when zoomed in fully like below.

Split UVs render

Split UVs map

Merged UVs baked from split UVs render

Merged UVs map

Split and merged maps side by side. They are identical when overlayed in the viewport.

I’ve put a lot of images here and confused myself with dozens of different permutations I’ve tried, so just to summarise:

Original unwrap and bake gives smooth edges with hard edge artifact in the middle.
Second unwrap using split UVs works but isn’t suitable due to performance and texture seams.
Third unwrap uses normal map from split UVs, baked onto a merged UV unwrap but gives same hard edge artifact in middle due to no padding when UVs are merged.

I’ve attached the .blend file I’m using in case anyone wants to have a go.
NormalMapBakeTest.blend (4.93 MB)

Has anyone been in this position before and are able to shed some light on the issue or how to workaround this?

It seems that you have to choose whether you want high poly normals baked down or merged UVs, doing them both in one seems impossible to me now.

hi, low poly meshes should always be set to smooth shading. Then i recommed to sharpen all uv shell borders and check autosmooth option with high angle like 180" then use weighted normal script

Split will always give you better results but, mergend aint that bad. In general you should get similar results as from xnormal.