Every time i make a normal map for my low poly usb model, one of the uv shells always has jagged edges. I don't think it's a hard/soft edge problem because no matter what i do (make the model all soft edges, make the model all hard edges, split uvs along hard edges, create uv seams along hard edges) it doesn't solve the problem.
Replies
Didn't work unfortunately.
What you're seeing is pixel padding. Its a good thing, There is no reason to try to "get rid" of it. It helps to avoid errors when the texture gets sized down (mipmapped) in game. If anything you should raise the pixel padding so it fills in the gaps.
Apply the normal map to the actual mesh and you'll see its not a problem. You can't look at normal maps in 2d and see problems unless you really know what you're looking for.
I'm sorry, i thought you meant to lessen the gaps between the shells, which i did. I didn't realize that what i was seeing was actually pixel padding. Unfortunately i do get errors when's it's applied to the actual mesh.
If you not sure exactly what it is, here is a good read : Polycount Wiki : Normal map > Edge padding
the error you showing has nothing to do with edge padding. Baking normal map could be tricky and it'll took you a while to learn how to bake a proper normal map.
again, polycount wiki has pretty much everything about normal map Polycount Wiki : Normal map
and here is a good tutorial on how to bake a "perfect" normal map.
[ame="http://www.youtube.com/watch?v=kGszEIT4Kww"]The Fundamentals of Perfect Baking - YouTube[/ame]
1. Lack of anti-alaising
2. Skewed edges in your uvs. If the object is straight in 3d, make sure all of your edges are straight in the uvs as well. Having slightly angled edges in your uvs means you need much more texture resolution to clean represent those details. For instance, it only takes 1 row of pixels to represent a straight line, while it takes a minimum of 2 to represent and angled line.
3. Poorly constructed highpoly mesh. Your highpoly should have nice thick bevels, otherwise the detail will not get picked up by the baker. Edges that are too sharp will cause aliasing issues.
I would by looking at your images that the cause is probably all of the above.
Thanks, that's some really useful info. I already have anti-aliasing applied at 4x so i don't think that's it. As for step 3, do you mean i should apply large bevels in Maya before subdividing in Mudbox, or that those bevels should appear when i subdivide in Mudbox. I've posted my Mudbox subdivision settings below in case that helps. I've also been using Xnormal to create the normal maps.
Alright, thanks. I was actually able to fix a lot of the errors by straightening edges on my UV shells as Earthquake said. The reason the edges are so sharp on my high poly is because i turned of "smooth positions" in Mudbox since it changes the high poly way too much. I guess beveling and chamfering edges would be an alternative but isn't there debate on hard edges vs. beveling/chamfering since beveling an edge increase the vertex count and slows down rendering times?
note: I'd just like to say thanks to everyone who's posted so far. This info's really great and helps a lot. I've learned so much about normal maps in the past couple days.
Thanks for taking the time to answer, i really appreciate it. However by only beveling the high poly mesh, it creates a weird sort of visual effect on the low poly edges, trying to make them look beveled i suppose. I duplicated the low-poly and beveled and subdivided in that order, before applying to the other low-poly mesh. Should i subdivide before beveling? Or maybe i didn't bevel enough. I understand the bevels should be big, but how big?
Visual Error Located at edge (red added to help show error. Large black part next to red is shadow, not part of error.):
How I Beveled:
Thanks, and thanks to everyone who gave helpful advice. The normal map is much cleaner now, plus I've learned a lot about baking normal maps.