PDA

View Full Version : A good normal mapping setup???



Revanto
06-25-2010, 07:41 PM
Hi,

I'm slowly trying to get into the normal mapping side of things in LW but so far normal maps render horribly in Lightwave compared to other 3d apps. The problem I think is that the normal maps are supposed to override the base geometry normals. But, so far, in my experience, LW can't seem to do that.

Because LW is my only 3d rendering app (I'm using Maya at school but I'm not used to rendering and materials yet), I'd like to know if there is a way in LW for the normal map to be the sole normal source rather than the geometry?

I would like to try to enter Dominance War next January and it will suck if I can't finish an entry because LW has sucky normal map rendering.

Revanto :help:

grn
06-26-2010, 03:55 AM
Hi,

I'm slowly trying to get into the normal mapping side of things in LW but so far normal maps render horribly in Lightwave compared to other 3d apps. The problem I think is that the normal maps are supposed to override the base geometry normals. But, so far, in my experience, LW can't seem to do that.

Because LW is my only 3d rendering app (I'm using Maya at school but I'm not used to rendering and materials yet), I'd like to know if there is a way in LW for the normal map to be the sole normal source rather than the geometry?

I would like to try to enter Dominance War next January and it will suck if I can't finish an entry because LW has sucky normal map rendering.

Revanto :help:

I've never heard of need to take away lowpoly normals. The key thing in normal mapping is to counterforce away crappy vertex smoothing of low poly geometry. If there is no need to negate waviness of lowpoly, you can use just bump/displacement maps ? Perhaps you are looking at a problem that is related to LW using a binormal/tangent standard that is incompatible with every(?) modern engine ?

Revanto
06-26-2010, 07:43 PM
All I know is that when I tested out a low polygon normal mapped object in Maya, it looked flawless but the same model at home in Lightwave looked crap because of the shading and shadow errors.

But if people are capable of overcoming the normal render problem in LW then I'd like to know how it is done.

Oh, and no displacement map technique can be used as this intended for the development of a game character (maybe! If I can get normal mapping to render properly in LW, that is!). Last year I lost confidence and never finished my character because the low polygon normal mapped renders of my entry looked bad and I always thought it was my fault. Now I know that this is not the case.

If I can solve this dilemma then my confidence in Lightwave will be restored.

Revanto :p

grn
06-27-2010, 02:59 AM
All I know is that when I tested out a low polygon normal mapped object in Maya, it looked flawless but the same model at home in Lightwave looked crap because of the shading and shadow errors.

But if people are capable of overcoming the normal render problem in LW then I'd like to know how it is done.

Oh, and no displacement map technique can be used as this intended for the development of a game character (maybe! If I can get normal mapping to render properly in LW, that is!). Last year I lost confidence and never finished my character because the low polygon normal mapped renders of my entry looked bad and I always thought it was my fault. Now I know that this is not the case.

If I can solve this dilemma then my confidence in Lightwave will be restored.

Revanto :p

Did you try inverting Y (green) channel ? Maya outputs Y- maps by default ?

If tangents/binormals are incompatible, you get something like in this image:
http://3d-output.com/spAce/images/demonstrations/normals_after_psh_edit.jpg

Revanto
06-27-2010, 05:15 PM
No, it's not the normal maps. The problem is Lightwave itself. I've been doing some searching and I don't think that LW supports vertex normals (or maybe it does but just not in the way other 3d programs do). It does polygon normal smoothing but not vertex normal smoothing. Either that or it does not have proper normal map rendering capabilities.

I'm hoping that someone with knowledge and experience with this issue would provide some info.

Rev.

jasonwestmas
06-27-2010, 05:25 PM
Now are you talking about the cyan, magenta and green "Tangent" Normal Maps OR Object space Normal maps? OR are you talking about 16-32bit greyscale displacement maps? LW only handles all of those pretty well ime.

Myagi
06-27-2010, 06:30 PM
It sounds to me like it could be that the normal maps are generated elsewhere, and then the object is imported into LW, resulting in different vertex normals?

If so, then you might be able to set the Vertex Normal Map in the material(s). I'm not well informed how/when vertex normal maps are available. If it's when importing an OBJ or not etc.

AFAIK, if you're not using the vertex normal map feature, when importing objects from another program, you're bound to get different vertex normals. Unless everything is smoothed or everything is flat. Because LW normally does smoothing based a per material smoothing angle.


Or the object was exported from lightwave for normal map generation in another tool, and the exported file did not contain vertex normals, resulting in that the normal map tool did not have the same normals as the object internally does in LW.

moussepipi2000
06-27-2010, 06:56 PM
can you post a scene with object,and you normal map? i never got a problem with normal map in lw since i know how it works.

jasonwestmas
06-28-2010, 09:02 AM
when most talk of normal maps it is the cyan/magenta type.

game engine normals like those from xNormal

Yeah that's what I'm thinking but I met a lot of people that don't know the difference.

Revanto
06-28-2010, 11:13 PM
I'll do some renders and post something up hopefully in the next few days (unless I somehow get sidetracked).

Rev.

Sensei
06-29-2010, 05:33 AM
The problem I think is that the normal maps are supposed to override the base geometry normals. But, so far, in my experience, LW can't seem to do that.

Normal maps ALWAYS override base geometry normals. You don't see it in OpenGL viewport, but it's in F9 render. Take f.e. Constant Vector node, enter some 0,1,0 (normalized vector with length 1.0), and connect it to Surface's Normal input. You will see completely flat render. Because normals are now pointing in one direction.

Revanto
06-29-2010, 07:21 PM
Normal maps ALWAYS override base geometry normals. You don't see it in OpenGL viewport, but it's in F9 render. Take f.e. Constant Vector node, enter some 0,1,0 (normalized vector with length 1.0), and connect it to Surface's Normal input. You will see completely flat render. Because normals are now pointing in one direction.

OK, If I have a normal mapped mesh then it shouldn't matter what smoothing angle I set my surface to because the normal maps should override that, right?

Rev.

PS: Sorry, no comparison renders yet. Just hit school holidays and I won't have access to Maya for about two or so weeks.

Myagi
06-29-2010, 08:41 PM
OK, If I have a normal mapped mesh then it shouldn't matter what smoothing angle I set my surface to because the normal maps should override that, right?

That would only be true for object space normal maps. Tangent space normal maps (mostly cyan colored) use the (smoothed) vertex normals in the calculations to transform the tangent space normals to object space.

You need to have the same vertex normals during generation of (tangent space) normal maps as when you use the normal maps.

Revanto
06-30-2010, 05:30 AM
That would only be true for object space normal maps. Tangent space normal maps (mostly cyan colored) use the (smoothed) vertex normals in the calculations to transform the tangent space normals to object space.

You need to have the same vertex normals during generation of (tangent space) normal maps as when you use the normal maps.

So, basically, in terms of normal maps, world/object space normal maps work well in Lightwave while tangent space maps, which are the ones I want to use to create mesh deforming characters will not work right.

Oh, well, it seems I should be looking for a better program to render my characters then.

Sigh.....

Thank to everyone for their input.

Cheers,
Revanto :p

Myagi
06-30-2010, 07:48 AM
So, basically, in terms of normal maps, world/object space normal maps work well in Lightwave while tangent space maps, which are the ones I want to use to create mesh deforming characters will not work right.

Oh, well, it seems I should be looking for a better program to render my characters then.

That's not really the right conclusion :) That vertex normals have to be the same when generating and when using tangent space normal maps is a universal law. It doesn't matter what software you use. You just need to make sure things are consistent, no matter what tools you use.

I don't know if I missed it, but did you say exactly how your workflow is. Did I catch it right that you are currently testing it with a mesh (and normal map) you did not create in LW? If so you need to make sure when importing the mesh, that you get the same vertex normals. Which for imported object (at least some formats) is possible with vertex normal maps (LW 9.5? 9.6?).

If you create the mesh in LW, and then export it for normal map generation, then (depedning on export format) normals should also stay consitent I think. Or even easier using a LW native tool for making normal maps.

jasonwestmas
06-30-2010, 07:57 AM
Simply plug a normal map w/node or channel into the "normal" surface property node. You will see it works great when you hit F9. With no light shadowing, if the normals are in "object space" one side of the sphere will always remain in shadow no matter the position of the lights. Tangent space Nmaps are equally lit all the way around without light shadows.