Normal Mapping Problems

Started by
2 comments, last by Guoshima 18 years, 1 month ago
Hello, we still have some normal mappings seams once in a while (especially when the artists make there normalmaps from ZBrush), and I couldn't find a way to get the seams out. I looked a bit on the internet and came across the following article, which quotes:
Quote: Flipped UVs Issue In order to save space on the texture map and to achieve a high texel density, most character modelers will unwrap half of the model and then mirror that half for the other side. You can also do this during the unwrap process by selecting a group of UVs and flipping them horizontally or vertically and then laying them down on top of the coresponding set of UVs from the other side of the model. This is a great technique, but it causes some problems when creating normal maps. Here's the issue: The lighting on a normal mapped model is dependant on the surface direction (normal) of the polygons, but also on the normal direction of the UVs. It's as if the UVs have a normal also. When you flip the UV coordinates horizontally or vertically, the effect on the lighting is the same as if you flipped the polygon from front facing to back facing. Suddenly, the lighting looks like it's coming from the opposite direction. If you work for a game company, you can ask your engineers to add some additional code to your model exporter, so that when your models are exported from Max or Maya, etc, the exporter will recognize cases were the normal of the polygon and the normal of the UV coords don't match. In those cases, the exporter can flip the UV normal back the right way for you without effecting the unwrap at all. If they need help figuring out how to do that, this is a good place to start. If you don't work at a game company or have access to programmers that can just whip up stuff like that, your best bet is just to avoid using mirrored texture coordinates all together. That's probably not what you wanted to hear since you'll have to use a lot more texture space to get the results you want, but that's the best you can do.
Is this correct, and how do I flip my UV normal then? I am using a ATI way to calculate my NBT's. Does anyone have some experience with these issues ? Regards, Kenzo
Advertisement
I believe NVIDIA's mesh mender library can take care of things like that. Take a peek at some documentation here. I'm not sure if there is a standalone executable to fix these things.
Yes, meshmender can fix most of these issues. I know, because I co-wrote the latest version, and am using it successfully in Ancient Galaxy.

It still won't look good in the case of a totally scewed up texturing job, but simple mirroring should work pretty well.
thx for the tip/link!

Regards,
Kenzo

This topic is closed to new replies.

Advertisement