HI there. I've been reading lots of posts on here surrounding normal maps seams. I have actually had this problem for a while and not yet found a solution. I have created a simple model here, sculpted it, and baked the high poly onto the low poly to test.
The Uv's are mirrored.
As you can see there is a visible seam along the middle. I have searched all over the internet and I am wondering is anyone has a decent solution to this. I have actually had this problem before and altered a uni project just to get past this issue.
Here are the UV's
As you can see I have moved them along 1 UV unit as recommended on the Polycount wiki and also tried with the mirrored UV's directly on top of the others with the same result.
I'm using XNormal and this always happens. I have the swizzle settings correct for 3ds max and have also tried every other combination. I have also tried flipping the green channel in Photoshop but to no avail.
I understand UDK uses some sort of Detail map to dampen this effect but I intended to render in 3DS MAX. I simply cant find a good solution for my problem. I'm actually creating a Dota 2 item and Its recommended I mirror to obviously allow for a better quality texture. How do they do it? I don't want a huge seam along mine! haha.
Any help would be appreciated, Thanks, Danny
Replies
3 suggestions:
1) Make sure there isnt a smoothing split along the mirroring edge
2) Make sure you are creating an averaged projection in xnormal
3) Evaluate your normals in the target engine. Newer versions of 3dsmax have really wacky normal map display.
Yes I've check that, the asset is fully welded and smoothed using only one group. It looks fine from this angle ass you can see
Of course i need it to look good as it turns haha
Yes i think I am. I believe that the newer versions of XNormal use an averaged projection map by default if that is correct? If not could you please explain what I need to change?
And finally yes, I will have to. I have heard it is good practice to test my models in the Alien Swarm SDK as its runs the same basic shaders and parameters as Dota 2. I believe that this may me a 3ds max problem as I have never got this to work
Her is an image of my asset with and without the normal map on. The UV seam is directly down the middle here. Only shows up on the normal map...
This video should help you better understand how normal maps work:
https://www.youtube.com/watch?v=m-6Yu-nTbUU
I've actually tried running my normals through hand plane to fix any errors. I'm getting tired and frustrated haha
My procces of baking is like so:
- uv map one side of mesh
- mirror copy of this mesh
- offset UV of mirrored part to the right by 1U
- weld the symmetry verts of mesh
- bake maps
- apply normalmap shader on this mesh to check how good everything is looking
You should not bake your maps with only one half or mesh that dont have welded symmetry verts (unless you will manually fix the cage on seam points). If you dont weld verts on symmetry or have different smouth groups on both side your projection will be crappy.
Check images on this page: http://www.bencloward.com/tutorials_normal_maps10.shtml
Last but not least 3DS is a bit crappy at displaying normals.
Try adding this part at the end of 3dsmax.ini:
[ViewportNormalMapping]
ViewportNormalMappingType=Qualified
At the end of the day whats most important is to see how your normals will look in game
Yes than thanks Konras. Yes your procedure is exactly the same as mine to the letter. Yea i know, all of my verts long the symmetry line are welded and the whole asset is covered by the same smoothing group to make sure.
I think it may be as you say, a rendering probelm in 3ds max with mirroed normals. I shall try altering the ini file as you said. Thanks for your help.
Danny..
"n 2013 they turned on Gamma/LUT by default which technically gives you lighting closer to what you see in the real world (or some other nonsense) but in reality all it does is jack up normal maps for people who don't care about rendering.
Main Menu > Customize > Preferences > Gamma/LUT > Disable
with Gamma/LUT on, it "corrects" the maps and screws up the values in normal maps.
You can render with Gamma/LUT on but when you pick the map you have to preemptively override the Gamma, as you pick the map, so the gamma correction doesn't affect the values of that map." << Mark Dygert