Hello Polycounters!
So, last night I was making a test with normal map baking until i realize something was wrong. So I did something very simplistic to discuss what is going on here.
The image above is a lowPoly mesh and a highPoly mesh.
This one is my bake results
Pretty much OK, until I realize that the concavity is smaller than it should be!
Now, messing a little bit with my bake settings, I realize that NOT using a cage give me the best results, but, as it should be, my hard edges is completely messed up.
So, looks like when I use a cage, the rays suffer a perspective distortion?
Do you guys know any way to fix this ?
I had the same results using Maya and Xnormal.
Btw, my high poly is a simple floating geometry.
Replies
I'd advise you to add more geometry to your cube, keep its normals averaged. And you can bake cageless if you want. Here's what I'd do:
Just adding those support edges help the tangents big time
Adding support loops to the LP will surely fix the problem, but that's what I want to avoid.
I actually did this to the main model, this cubes is just to exemplify.
But after many tests, i think is indeed not possible without adding more Geo to the LP. Of course we can delete the extra Geo after baking, but its just a little annoying. =]
But hey, I understood the problem now! The picture you posted make me think about the cage vertex normals.
Looks like it can only be set to surface normals or average vertex normals.
So, if I don't add more GEO, I can only have round edges and perspective distortion, or messed up edges and no distortion.
The solution to bake this without adding more Geo to the low poly, is to actually model the concave part on the high poly, so there will be no gap to cause distortion when using the geometry normals of the cage.
So what I learned is that the cage normals can't be manually tweaked. Its only surface normals or average vertex normals!
What you could do instead is going the handplane route, which would be baking an object space normal map using the extra-geo mesh, and turning that into a tangent space normal map using handplane: http://www.handplane3d.com/
Maybe because the surface is flat? But as long as I can remember, I never had problem with my normal maps after deleting the extra Geo, at least with hard surface.