PDA

View Full Version : Just when I thought I knew Normal Maps


knak47
08-12-2011, 07:57 PM
I have read a lot in the Wiki and other areas about smoothing groups, normal maps, tangents, vertex count, bevels. and I am still confused. So...

Any time there is an angle in the low poly that is 90 or more than there needs to be a hard edge (in MAX a different smoothing group). Does this part of the model also needs to be separated into a different UV shell. or will throwing it in a different smoothing group be good enough.

Only 90 degree angles or worse need to be separated in UV space and have there own smoothing group right, everything else can have the same smoothing group and doesnt need its own UV island?

I am wondering this because a model I have had a seam showing in the normal map on an area where the lowpoly angle wasnt harsher than 45 degrees and it had one smoothing group and a single UV island.

MasteroftheFork
08-12-2011, 10:35 PM
if the anggel is less than 45 degrees then it should be fine with one smoothing group (soft edge) and no break in the UV shell. If you have to have a break in the shell you will get aseem but if you do it properly the seem should be very minimal. Its hard to say what your issue is though without any pictures.

knak47
08-13-2011, 12:02 AM
So anything harsher than 45 needs a different smoothing group and a split in UVs? I thought it was angles of 90 or more that you had to look out for?

kodde
08-13-2011, 12:06 AM
From my own experience I use this rule of thumb:
If you have a hard edge you also need to separate the UV's along that edge to avoid artifacts due to the texture filtering.

knak47
08-13-2011, 01:49 AM
OK, what about this scenario, because of your UV layout you have a UV separation on a soft edge, do you keep it soft or put it in two different smoothing groups?

hamzaaa
08-13-2011, 02:40 AM
I think having two polygons on the same smoothing group while there is a UV split might give you a problem, but I am not really sure ^^

knak47
08-13-2011, 03:41 AM
OK, I think half the reason I am going crazy is because I cant get the Xoliul viewport shader to ever display the normal correctly for me. People say not to trust MAX's renders but my normals are great when rendered in Max. they also look OK in UDK which is all I am really concerned about. So can I trust Max's renders? here are some images of a model I made for trouble shooting this issue.

wires
http://i229.photobucket.com/albums/ee301/knak47/Polycount/wires.jpg

normals with three smoothing groups
http://i229.photobucket.com/albums/ee301/knak47/Polycount/Normals.jpg

Xoliul's viewport shader
http://i229.photobucket.com/albums/ee301/knak47/Polycount/XoliulsViewportShader.jpg

Max's render next to the High poly(blue)
http://i229.photobucket.com/albums/ee301/knak47/Polycount/MaxRender.jpg

UDK screenshot
http://i229.photobucket.com/albums/ee301/knak47/Polycount/UDK_screenShot.jpg
Maybe I am not setting up the shader properly. I am just using the default lighting, but I have tried a three point light system and still havent got good results from the viewport shader. Any ideas?

hamzaaa
08-13-2011, 03:54 AM
I had problems using Max 2012's standard viewport lighting. Maybe you have the same problem too. If your are also using max 2012 try this:
click the [+] on the top left corner of the viewport -> Configure -> Lighting and Shadows -> Use default light and switch from 2 lights to 1 light..
maybe this helps

Dismembered
08-13-2011, 07:45 AM
When you are baking your normals, what kind of edge padding are you baking onto them? As in how much.

Quack!
08-13-2011, 08:45 AM
You are going to get seams. This is a fact of 3D life. You have to hide the seam. In this case just make sure the break is at a place the players won't see.

No you can't trust max renders, the render will fix some of the errors from a bad bake. Only trust the engine you are importing to. In this case it seams(pun!) you are using UDK, so only trust that.

knak47
08-13-2011, 11:34 AM
Thanks Guys for the info. SO I figured it out, I have never had to deal with flipping the green in my normal because I just go from Max to UDK, and up to this point I haven't seen major issues with any of my normal maps. Well lately I heard not to Trust Max's renders because it doesn't you the same tangent basis that its viewport does(STUPID). So per advice here on PC I started using a realtime viewport shader to preview my maps. There lies the problem, I wasn't flipping the green channel in Xoliul's shader.

Conclusion: Render the normals, throw on viewport shader and flip the green, check the map, import into UDK and squeel with joy!

perna
08-13-2011, 01:06 PM
People say not to trust MAX's renders but my normals are great when rendered in Max.

Actually the 3ds scanline renders are correct. You'll get the exact same results in the viewport if you use qualified normals in the latest version of max or Quality Mode with 3Point Shader from 3ds 2008 and up.

The shading in that UDK shot looks terrible. You can improve it by exporting and importing tangents via the FBX format to UDK. But unfortunately, UDK still doesn't have 100% correct normal map rendering.

perna
08-13-2011, 01:08 PM
Conclusion: Render the normals, throw on viewport shader and flip the green, check the map, import into UDK and squeel with joy!

Hehe, enjoy the feeling while it lasts because in truth you're not there yet. It's a lot more complicated than that :)

knak47
08-13-2011, 02:42 PM
I am using Max 2009, so can I just use a standard material and render using the scanline renderer and I can trust that?

perna
08-13-2011, 03:07 PM
I am using Max 2009, so can I just use a standard material and render using the scanline renderer and I can trust that?

for max 2009 you can use Quality mode with 3Point Shader to get the exact same result in the viewport as in scanline renders. There's a whole bunch of huge threads on normal mapping in Technical Talk, even stickied, if you want to go in depth with that stuff

knak47
08-13-2011, 05:30 PM
Thanks Perna, just installed the 3point shader, looks great!

Computron
08-14-2011, 12:34 PM
Actually the 3ds scanline renders are correct. You'll get the exact same results in the viewport if you use qualified normals in the latest version of max.

Can I get this in the nitrous viewport?

perna
08-14-2011, 12:37 PM
Can I get this in the nitrous viewport?

You can turn on Qualified normals. There's some bugs left, but you may find it works for you (it works flawlessly for me)

You do so by toggling an INI setting.

Keep in mind that DX shaders don't work properly in nitrous, so you won't be getting any fancy materials in the viewport

more info:
http://area.autodesk.com/blogs/jean/everything_you_always_wanted_to_know_about_normal_ maps_but_were_afraid_to_ask