Hi, all,
I'm currently baking my normals in Xnormal and 3ds max, but i'm getting this small distortions/strechting on some area's of my normal map.
I was wondering were this is coming from? Is this cage problem? I have no strecting going on with my uv's. Also my cage looks fine. I am using mirrored uv's. There'arent any overlapping uv's. I also did reset xform.
I also added some more vertices on the problem spot as it can project better.
Any ideas?
Replies
Stretching is normal, it is normally due to the UV's not matching the exact shape of the faces on the mesh, which is unavoidable in some cases and perfectly normal. In most cases its desirable because it will account for the UV's not being a perfect match.
It looks like you straightened some of your UVs and that might have introduced some stretching. If have a quad that on the model looks a lot more like a trapezoid and in the UV layout its a square you get that weird stretching you have in the bottom arrow of your example.
You might be able to tweak the UV's and rebake getting better results, but if you corrected only on the normal map it would be off. Still before you get too far check it on the main model, unless you are creating flat surfaces like a wall or floor tile, there is going to be some stretching in the normal map.
I think there shouldn't be any stretching going on if my u'v are straight and mapped correctly. I have just selected the problem area's (faces) and delete all others. The result is very straight and clean normal map. So how is this possible? To me it looks like something is messing it up as soon the other faces are connected.
I did a quick bake of a proper cage vs a cage with a single vert nudged to one side:
But to piggyback on what Mark Dygert said, sometimes stretching is fine. If it looks good on your model, then it doesn't necessarily matter how it's showing up on the map.
The stretching can be introduced by the shape of the UV's. Straightening edges on the UV layout makes a messy normal map but it works out ok on the final model, Although it takes more pixels to accurately capture the squared off UV's so in general its wise to keep the shape of the UV piece as close to the shape of the actual face on the model as close as possible. But when you start working with complex shapes that wrap around odd angles you have to accept some amount of stretching, otherwise you have to break off each polygon into its own texture space and get it to match exactly the shape of the actual geometry.
The more seams you have, the higher the total number of verts in the engine, the slower things go. So you have to balance performance and workability with something that "looks right" to you.
Stretching can come from the angle of the cage projection like Bartalon talked about. If the stretching comes from the cage its because its having to average around an angle, it won't capture like a flat surface. In those cases it is very rare that it will look like a normal map taken from a flat surface unless you add a few edges to the edges of the low poly so the normal projection hits at more of a 90 degree angle instead of at a lesser angle.
More likely a ray projection issue, so give this thread a read: http://www.polycount.com/forum/showthread.php?t=81154