right its been awhile since i did some serious normal work BUT
was experimenting with baked normals for linear things like railings, sideboards etc
the issue is with soft edged models at corners where the smoothing group is broken
EG if you want a tiling skirting board normal map you break the edge normals at the corners and everythings great yeah? or im sure it was when i was using maya last...
EDIT- proof
trying it in max im getting weird normals not what i would expect in the LOW poly mesh (nothing to do with the bake)
so i did some experiments with max and found the low poly normals doing things i wasnt expecting (correect or not finding it difficult to make it what i want)
iamge above is demonstrates the issue:
red l shape is the normals created by max, pink is what i would expect to happen
i created the red by cutting two tubes at 45 degrees and merging the verts and setting two smoothing groups
i created the pink l shape by making two tubes (like right image) using an edit normal to make the normal's explicit and then editing the verts into position and merging
the pink has way better normal's (IMO and for what i'm aiming to do) you can see in the side shot that the max generated normal's are twisted away from the inside corner, which when baked with nice detailed causes all sorts of weirdness. the pink shape all the normal's are at 45 degrees (what i would expect)
the only way I've figured to fix this automatically is to export to a third party and set the normal's in that and re import...which seems to work more in line with what i expect... is there away to do this in max? do other packages do the same thing... am i going slightly mental?
pointing me in the direction of old threads and info would be much appreciated thank you
Replies
Effectively, the vertex normal gets calculated as the normalized sum of all of the normals of the triangles it's attached to. But on one side, it's got a single triangle and on the other it's two triangles (due to the way the triangulation's laid out). That pulls the normal in favour of the two triangle side, rather than getting an even mid-point between the two quads those triangles are made from.
You can weight the influence of the triangle's normal by scaling it by the angle between the edges of each triangle at the vert and that'll counteract the effect.
I recently wrote a MODO plugin to do that, here's a sample result;
The method is described in the last section of this article;
http://www.bytehazard.com/code/vertnorm.html
Another alternative is to alternate the triangulation direction for each loop of polygons along the pipe. That ensures that each vertex is influenced by the same amount of triangles on either side. See; http://wiki.polycount.com/NormalMap?action=AttachFile&do=get&target=triangulation_spec_tychovii.jpg
http://www.polycount.com/forum/showpost.php?p=1690226&postcount=48
Here's some comparison images between weighting methods on a mesh like that;
The end normals would be cleaner if I hadn't left caps on them, whoops.
And the effect would still be there if I had split the smoothing along the corner edge loop because on either side, it's still being pulled in favour of the face normal where the two triangles touch the vert, rather than the one triangle.
id seen that article... was hoping that there was an option i was missing in max...
we also were looking at turning the triangles but that doesnt effect the normal generation either