Baked normals edge issue with complex geometry

Most times when I baked a displacement texture into a normal map the geometry edges where hidden.

But it seems even with giving extra bleed space the smart UV unwrap for complex objects still is not enough to prevent visible texture edges like here:

Anybody has maybe a tip how to smooth those out?

Are you subsurfing? If so, did you bake the displacements relative to the subsurfed mesh?

Best wishes,
Matthew

Yes it is a subsurf model.
I use a voronoi texture to drive a displacement modifier and I backed the normals to a secondary low res model.
The subdiv UV button is activated. So I am not sure if I do something wrong or if well the bake algorythem cannot calculate a bleed for all naked edges matching their partner edges in the UV unwrapper.

you could try using the new laplacian modifier to smooth it out!

salutations

Dang, that is rough, a reason to remain procedural eh?

ricky, the noise tool is cool but I am using a normal map on a low res model. the image simply has problems not the mesh.

ok but you could apply the laplacian to the high res model then do the baking
that should remove some of the harsh edges on the bake low res model!

salutations

Hey ricky,

the high res model is actually very smooth because it uses the voronoi procedural texture.

the edges inside the baked normal map image stem from the UV unwrapped islands.

I thought that Blender can calculate a bleed area so neighbour islands have the same texture at their edges and thus render a smooth normal map effect onto the low res model instead of making the texture edges drastically visible.

In a matter of fact, all normal map bake examples I know even when faces or characters of course hide the UV seams and that makes sense. The UV maps are larger and not cut into so many small islands.

I guess this is just a technical limitation here.

That’s really odd, I just tried it myself, made a horrible UV layout on a cube to have lots of islands and it works flawlessly.

Although I doubt it, you might have a setting upset there ;D
Or it’s something with the graphics with your machine.

Here’s the blend to check it out:
http://www.pasteall.org/blend/15438

redone test on UV sphere with a displace text+ veroni and
unwrap the UV smart
after doing the baking i applied the map to a UV sphere

And i did get some strange lines also

the UV smart unwrap add some strange lines i think but not certain why

use the simple UV unwrap instead seems to work better !

salutations

arexma, here is my file. maybe in your case because you have 90 degree edges the effect is not that visible, I dont know.
I was not able to repoduce your result with my model.

CloudApp

BTW where did you get the sphere material from for the reflection?

I’ll take a look at your file.

That’s an easy one. Just google for “free matcap”
It’s a simple zbrush matcap, the spherical representation of a material as image texture, like a simple shot from a lightprobe.
Then create a blender material, set it to shadeless (or not, depending on your needs) and only add a texturechannel with the matcap and set the mapping so the objects normals are the texture mapping coodrinates.
This creates this sort of GLSL shader for the material in textured view with GLSL enabled.

I use it when sculpting or for eyecandy, eats a bit performance, but gives you that zbrush/sculptris visual feedback on cavities or generally spacial geometry. There are a gazillion matcaps out there from chrome over clay, to plastics and lava…

You can get 162 free matcaps here from sespider’s deviantart page for starters:

:wink:

Was the mesh set smooth before you baked the normals? Remember that flat or smooth shading changes the normals.

fr3 yes it is set to smooth.

Oh boy.

I tried:
Bigger normal map 8k.
Manual seams and unwrap
Apply scale/rotation/location.
Different bleed and materials.
Apply sub-d and displace on either or both objects in all combinations.

All my effords brought no solution, manually cutting seams and unwrapping makes it slightly better but certain edges keep the seam in the normalmap, and it’s no viewport problem either, its the same when rendering the normalmap as colormap.

Now it became personal. I have no idea why this happened, but I think to remember that someone had this problem already and the solution lurks in this forum somewhere.

glad to know it is not me :wink:

I assumed that because you can space the islands and create a bleed function you can bake the texture so that all naked edges share the same texture so when wrapped onto the mesh the edge textures overlap and work seamless.

you say you remember a thread with the same issue or technical problem and remember they had a solution ?

Yes, but I might remember wrongly. I can’t even remember if there was a solution.

Anyways, I did some more testing, and I think there’s a huge bug somewhere.
If chose to re-unwrap it with lightmap pack, to completely tear the uv layout apart.

If you bake the normals in object space, they islands align nicely and you have barely visible seams with a bleed margin of 2px.
If you bake the nromals in tangent space, the seams are obviously there because the texture does not align properly.
Your screenshot shows it impressively that it doesn’t match up over the seam.

Could it be that there’s a problem baking in object space? If you bake with 0px bleeding, the texture pattern aligns nicely, however you get the black seams, if you enable bleeding, the black seam disappears, but the pattern does not align anymore.
Almost as if it’s not bleeding over the island, but using some UV inset.

Either we’re stupid or Blender is actually doing something wrong.
Might be worth a bugreport.

Soooo. Digging up old dirt.

Any news on this?
As a matter of fact I ran in the same issues. Sculpted multires head baked on a lowpoly basemesh, fugly seams in the normalmap at all the seams, and nothing fancy.
I smell somethings rotten in the state of denmark.

I had a problem with visable seams on a human figure which I had baked a high resolution normal map to put on a low resolution model.
The seams appeared when I did a full length render to see the loin cloth I made for a Hawaiian man figure. Previous to that I had only rendered the face and shoulders to see the detail of what the guy and the texure map looked like. I read and watched a number of tutorials on UV textureing and visable seams. Lots of very upset people trying to get rid of visible seams. After painting over the textures in the joint areas, still no help, I tried the offset and size settings, and other suggested settings which just screw it up terrible, or no effect at all. I try painting further beyond the UV islands on the flat map in Gimp. I try painting over the seams in Blender texture paint. Those don’t help. The one suggestion I didn’t try was the bake the texture and redo all the seams and place the baked texture on the new unwrap and then repainting the baked on seams in Gimp cause they aren’t covering seams any more. Seems complicated. Then I discover if I turn off the normal map which I made from a high resolution sculpted model, the seams dissappear on the rendered image, at any distance. So it was my normal map that is putting in the seams, not the paint texture. I read up on normal maps causing seams, which seems quite common with most people saying there isn’t much you can do, just put the seams where they won’t be noticed, which is hard on my figure which is a
realistic Anchient Hawaiian man wearing only a loincloth. No place to hide the seams. I try expanding the blue and sort of pink area
around the edges of the UV island areas using Gimps clone brush, didn’t help. My UV islands look OK right up to the edges, no
discoloration, no artifacts. But the islands don’t abutt each other, as the arms and legs and the head are all cut off and and placed in a
well packed configeration. So they look ok to my eye, then I decide to see how they line up on the model, so I uncheck the color
texture map and choose the normal map for the body texture, and I uncheck the map from the geometry so it isn’t doing normals
anymore, and I click the color choice for the effect so it will show the skin as the blue/pink normal map, in otherwords, I wrap the
normal map around the model so the seams all line up correctly in place on the body, making a blue/pink model standing there his
arms outstretched. I go into texture painting mode and see the blue guy. Bam!! there I can see where the arms join the body and the
head joins the neck and so on. There are visible hard lined seams. The area is blue or shaded pink or whatever, but there is subtle
changes right at the edge of the lines, the blues are slightly different, the pinks are not quite the same, and it is obvious that they
change right there on the seam line. It is obvious. That’s what’s causing the visible seams. I grab Blender’s smudge tool and smudge
the two areas as they meet the lines so there is no more visible difference, I smudge across one way then back the other so each
side of the divide looks all the same blue, or the pinkish look in that area. Then I save the image by going to the UVmap and saving
the image, then I go back to the texture area and refresh the normals image, then change the normal map back to influencing the
geometry and not the color, then I render and AMAZING!!! the seams disappear! Some of the seams aren’t so obvious on the
model in the texture paint mode, usually they look uniformly blue, but I look at a photo of the seamed model and I can see where
there was a seam and I smudge the blue in that area, it doesn’t look any different but there must have been a slight unnoticable color
change because after smudging and switching the map back to the normal normal set up, it renders in the area with no seam at all.
Great! That’s how I overcame my seam problem. Of course your color map has to be touched up in the paint texture mode too, so
you won’t have obvious color changes at seams. I think part of the problem is tutorials that pick a real simple item to show how to do
UV maps or Normal maps or whatever, and don’t address the more complicated problem of a human or animal character that is 100
times more complicated. Sure it is easy to unwrap a cube, simple, then put a flat yellow on one side and a red on another. Easy!
Sure, wait until you get in the real world of actual characters that have rounded bodies and faces with a lot of subtle detail. Then how
do you get all that to match up? Not quite the same as doing a cube is it? Even the tutorials on doing a head and face don’t address
the problem of getting that head stuck on a body. Now there is a possibility when others mention blending the edges together across
a seam in a paint program that they meant putting the normal map on the character as a color map and blending using Blender’s
texture paint tool, but I didn’t catch that, and kept trying visually blending in Gimp on the flat texture map, which didn’t do much good.
Any way, hope this helps some of you who don’t automatically know what the others are talking about.

I have similar problems with baking normal maps.
I got edges between the uv islands. In Blender it looks nice if I disable the color of the normal map but at p3d it’s very rough: http://p3d.in/KMEYt/clean


Any idea on this?