I am having the same issues over and over when I do normal maps on hard surface cylindrical shaped objects. I've been trying different solutions but nothing seems to fix it. Does anybody have any suggestions to fix some of these normal map problems? High Poly exported from Zbrush, Low poly and cage exported from 3ds max, normal map generated in xnormal as tangent space normals, rendered in marmoset toolbag.
Replies
More edge around the cylinder will help a lot.
You do have to model your high poly around your lowpoly limitations.
Avoiding 90 degree angles can help make things easier, if it's possible.
Adding an edge loop where something is wavy will help if it's occuring in the between edge loops.
Less extreme angles and cuts will help.
Also if you want to use handplane you can use that to add edge loops to help fix project errors, bake an object space normal map, remove edge loops, export low poly, and generate the tangent space normal map with those in handplane.
I had to do two passes though, one for the sides and another for the flat lens then put them together in photoshop. Is there a way to not have to make two different cages or is it necessary for any cylindrical object with detail on the cap? Would the method to be to add edge loops really close to the ends so the cap's side of the cage can be pushed out straight?
I think the issue on the front of the lens here could have been improved by removing that center vertex and replacing the triangle fan topology with quad strips.
Also it seemed like when more geometry was added to the mesh the uvs were not updated, you should probably relax the uvs at that point.
And just to say it again, you should not remove or edit your geometry after baking a tangent space map otherwise you will introduce smoothing errors. If you want to do that sort of thing you have to bake an object space map and convert it with Handplane as Zac suggests.
I am a little confused on how my smooth groups effect my normal map bakes. Just so I can get a firm understanding, should I put everything on 1 smooth group before baking then assign custom smoothing groups after? I tried that as well as assigning them before baking and also I tried leaving them on 1 smooth group and not assigning custom smoothing. I couldn't tell which result was the one I should use and there is a lot of conflicting opinions out there. Zac and EQ, what do you think?
It seems like leaving it all on 1 smooth group gave the same results as putting in thought out custom smoothing groups before baking. At least in this test, should I not bother if I'm baking a high poly to the low poly?
#2, setting your smoothing after you bake, is simply something you shouldn't do. The normal map is baked specifically to account for the mesh normals (smoothing) of your lowpoly, once you change that even a small amount you will get errors, so you need to rebake at that point, at least with tangent space maps.