View Full Version : Normal Mapping and mirrored geometry?

11 November 2007, 05:35 PM
I have been under the impression that you cannot have overlapping or the same UVs for mirrored geometry when using normal maps. The reason being that the mirrored parts will have an inverted looking surface (if the original is convex, the mirror will be concave). But looking at the texture layouts for the Gears of War characters, I see that they only have one half of the UVs, presuming that they use the same coordiinates for the other side. Is this a new thing? Maybe the UT3 engine can flip the color channels on the normal map for the mirrored side? I am wondering this because I would love all the extra UV space for my new character for my portfolio, if it can be done. Anybody know?

11 November 2007, 12:16 AM
I use max and have never had a problem with overlapping uvs on normal maps. A girl I work with now just graduated from art school and says you can't in maya. That doesn't make sense to me.

For example lets say you create a model with every face having it's own dedicated uv space. Duplicate that model and combine the two. Now you have overlapping UV space. Shouldn't the models still show the normal maps as they did before? I do it all the time in max.

As far as mirrored UV coordinates and normal maps... It's really hard to say. From my understanding all engines and 3d apps handle them differently. Gears of War may have had some in house code for detecting mirrored coordinates and displaying the normal maps properly.

Are you planning on taking renders from within the unreal engine or would you rather stay in your modeling app? If so what app are you using?

11 November 2007, 12:46 AM
in 3ds max, you dont even have to worry about the other side's normal maps just as long as you have symmetry applied on the model itself. i use zbrush and zmapper for normal maps and by using symmetry on half the model, the normal map just knows to flip itself.

11 November 2007, 03:36 AM
i use max and yes mirroring is fine. Our game engine also has no problem with the mirrored normals.

Mirror away! save time!!

11 November 2007, 10:26 AM
This is very interesting. So people usually just mirror the geometry for the other side of the character bodies? I guess you get alot more details on the parts but wouldn't this mean that the bodies would get too symetrical? Perhaps symetrical bodies in games are not a problem?

Have you tried reversing the normals on the inverted part of the mesh btw?

11 November 2007, 11:00 AM
overlapping UV can give an issue when extracting the normal map. But it doesnt matter if the UV layout on the left and right side are laying over each other when applying them to your model. It works the same way like mirroring the texture. And it is possible in Maya...

11 November 2007, 12:28 PM
Mirroring Normalmaps can be a problem when the Engine doesnīt support it.
NDL Gamebryo for example donīt support it, if you map both halfs of the head with the same Texturespace one of them will have an inverted greenchannel. (Donīt know if that is fixed in the newer Versions but in 1.2 itīs that way)

11 November 2007, 04:56 PM
overlapping UV can give an issue when extracting the normal map. But it doesnt matter if the UV layout on the left and right side are laying over each other when applying them to your model. It works the same way like mirroring the texture. And it is possible in Maya...

Haha, my suspicions exactly. Maybe she was talking about extracting normal maps and failed to mention that.

11 November 2007, 05:11 PM
Your friend is half right. High quality rendering in the viewport will display mirrored normals correctly. However, if you render with mental ray, one side will be inverted. This is an issue with mental ray. Most recent game engines will handle mirrored normals correctly. My experience is with the source engine, and it handles them fine.

So, if you are modeling for a game, and want to see how it will look, you can use the viewport high quality render mode to see it correctly. However, if you want to render with mental ray for your portfolio you will see inverted normals on half of the object. One bandaid fix is to just invert the normals on half of your model to force it to render correctly. This of course should only be used as a quick fix to render in mental ray, and should not be used for game engines. At game companies, it is a pretty simple fix if you have a graphics programmer to add code to the engine to render them correctly.

To answer your other question, yea it can leave the character looking symmetrical. What I usually do, for say, a character, is to have the chest be one piece, and then have the arms and legs be mirrored. This allows you to save a good amount of space, while allowing you to avoid looking symmetrical because you can add non symmetrical detail to the torso. For heads, I typically don't mirror the heads, however one of the character modelers on my mod team was taught a way that had the front of the face be one piece, but the sides of the face were mirrored. Since you don't see both sides of the face at the same time, it avoided looking symmetrical.

11 November 2007, 05:56 PM
Thanks guys for sheading some light. Yeah, I tried the mirroring in Maya and it displayed the normal map correctly. For rendering in my portfolio Im gonna just have two shaders, one with in inverted green channel. Thanks again :)

11 November 2007, 06:37 PM
UE3 handles this for you. So no need to worry about it if you plan to use the engine...

11 November 2007, 07:10 PM
Predator, maybe I wasn't specific enough but my co-worker simply mentioned "over-lapping UVs" and made no mention of these being mirrored. So for my example I said cloning an object and combining them will technically be one object, although not one solid mesh, and will result in overlapping uvs. It may not be a very practical example but it illustrates the point.

In a more practical example lets say we have a table made out of 5 boxes. 4 table legs, and the top of the table. Assuming the table is standing upright and not on it's side the legs will be deserving of less detail. Someone may decide to clone 3 legs rather than giving each leg dedicated texture space on one texture sheet. So cloning 3 legs and combining everything into a single object will produce a texture sheet with one leg and one table top. All 4 of those legs should display properly even though they have overlapping uvs. Now if you mirrored the legs instead of cloning them problems may arise.

11 November 2007, 01:17 AM
double post

11 November 2007, 01:21 AM
Sorry, I misread your post. Yea aside from that mirroring issue, Maya handles overlapping uvs fine.

CGTalk Moderation
11 November 2007, 01:22 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.