Latest News

Normal Mapping experiments

Monday, June 22, 2009 , Posted by Bradd McBrearty at 1:32 AM

If you're a 3D artist and you want to work on Current/Next gen games, normal mapping is an incredibly important skill to know. If you're visiting mt blog and you're not a 3d artist, this may be a post to skip, unless you're looking to educate yourself on deeply geeky topics. To fill you in, a normal map adds additional shading information to the surface of an object, to make a simple shape look more detailed usually.

I recently had a friend who was working for Infinity Ward look over some of my project files, and he pointed out some causes for normal map errors I was facing. Basically he told me that wherever you have a hard edge on your model, you also need to separate those areas in your UV map. This is caused by Ray misses in the projection from the Low to Hi poly model.

I put together some simple test renders so that I could wrap my head around the concept more. Here they are, with a screen cap from Maya first for reference.



Example 1
Example 2

Example 3

Example 4

After looking over these, Example 3, the way he explained laying out my UV's and Hard edges produces the closest result to the hi-poly model. My reservations about using this method though is that it's going to result in a very complex and potentially wasteful UV layout, based on the number of pieces the model end up broken into. If any one has any suggestions, I'm eager to learn how I can improve my work-flow.

(Thanks to anyone from Polycount for stopping by to lend a hand. There is a discussion about this going on RIGHT HERE.)

Currently have 2 comments:

  1. Johnny says:

    A quick question form someone who's struggling to learn normal map wizardry... I understand the concept of laying out the faces as you did in example 3. It makes sense. But what about layering identical faces? In your example, your using a cube, all the faces of the cube have identical maps, if you stacked them on top of one another, so your UV was just one square, would it still work?
    Obviously that wouldn't work if each face had different details....

  1. @Johnny There's no problem with layering UV's on normal maps, the problem is with mirroring UV's so that you can layer them. Once you mirror the UV's the normal map is going to show up inverted. Some engines have scripts to detect mirrored UV's, but otherwise it's typically bad practice.

Leave a Reply

Post a Comment

Bam! Have something Awesome to say? Put it here.