Home Technical Talk

Persistent UV seams in normal map

Good evening,

I've been spending most of the day figuring out what the hell is going on with my normals:

w4DIiuY.png

The subject here is a rock sculpted in zbrush, decimated and then UV'd in Blender. It is made up out of a single smoothing group and triangulated. Using multiple smoothing groups does not solve this issue.

I have baked it in xNormal using MikT space. It is not a case of a flipped green channel. :poly127:

In DDo it looked fine at first but it turns out the IBL hides the seams a bit. Then when I finally get it into cryengine the seams become very obvious.

I have excluded that it is an issue with the mesh.(exported with both Max and Blender) Nor is it caused by the diffuse.

After playing with triangulation, scale, smoothing, etc ... This is the best I've gotten.

7oPpLXF.png

Am I missing something or have I reached a limitation of normalmaps ?
So far the only solution someone was able to give me was hand painting those seams out but I figured I'd try and ask here before committing to such an atrocity.

Replies

  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    What does the model look like in engine with a dark ish grey diffuse and a medium high spec and the normal map applied?

    There is something very wrong with the bake if that is the normal map applied to the diffuse in the lower picture.
  • NanoTurtle
    F8DBmnA.png

    It looks pretty bad as expected. There is no reason why that seam should be there.The normals on the UV seam are averaged just like the others in the mesh.

    Someone's argued that this is normal when you put a seam between 2 non planar polygons and that I should just paint it over but I would rather get a clean bake and save me the trouble. Besides, I don't remember UV seams being this obvious in previous meshes I've baked.

    EDIT: Here's a DL link to the HP and LP as I put them through xNormal.
    Beware the HP is pretty big. https://www.dropbox.com/sh/81k944gs7u1a4nr/AADFYPFXNPJJ_ftPnz7Z7jBEa
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    I just baked your model in 3dsmax and imported into UE4 and there are zero seams.

    Are you sure your green channel isn't inverted?

    Slap my bake on your in engine model: https://dl.dropboxusercontent.com/u/2344272/crit/rock_normals_crit.tga
  • NanoTurtle
    gyWhnvE.png

    This is in Cryengine, it's still there, a bit less prominent because it's just the bake and not the extra layer of detail on top.

    bbV4JO5.png

    Here's DDO again.

    I'm currently trying to get it to show up in max as well. (viewport shading seems to be broken)

    EDIT: I managed to get viewport shading to work again. At first it looked just as bad as in cry but then I remembered that for Cry, blender and ddo I wasn't using your .tga but a crytiff I saved it as. When using your .tga in max it looks like this now !

    PPMYBu1.png

    Unfortunately your tga looks just as bad as the tiff in blender. (blender has crappy viewport shading however)
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    Again, are you sure the normal map isn't flipped for Cryengine? What does it look reversed?

    The DDO is looking closer, if that is a diffuse applied on top then that may be causing the more notable seam.

    If it isn't a reversed normal problem, then I can only guess that it is an import / export problem that is breaking your model at the uv seams. Trying using FBX2013 instead of .obj.
  • NanoTurtle
    Quack! wrote: »
    Again, are you sure the normal map isn't flipped for Cryengine? What does it look reversed?

    The DDO is looking closer, if that is a diffuse applied on top then that may be causing the more notable seam.

    If it isn't a reversed normal problem, then I can only guess that it is an import / export problem that is breaking your model at the uv seams. Trying using FBX2013 instead of .obj.

    I forgot about that diffuse in DDO, it does indeed look a lot better now. I have checked again to see if it isn't the green channel and it doesn't make any difference whether I flip it or not.

    I'm gonna try baking with fbx/importing an fbx into cry to see what it does.
  • NanoTurtle
    OK, did some more tests and got some interesting results.
    First of all: Going from blender to xNormal using fbx did not make a difference.

    Since you managed to get a working bake in max using a .tga I tried to reproduce your results. Baking a .tga works perfectly ... in max viewport only.
    Converting said .tga to a crytiff breaks it again (in max)
    Nor the .tga, nor the .tiff work in Blender viewport.

    I then tried to bake it as a .tga in xnormal which didn't work in either max nor blender.

    I'm kind of baffled as to how and why this is happening. I've never come across behavior like this. It's not even clear to me if it is mesh related or not.
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    Max's viewport shading is broken too. The only viewport that matters is your target engine forget about the rest. I am not an expert in CryEngine, so I can't say exactly what the issue is, but again, it looks to me as a mesh issue and not a baking issue.

    My guess is that you are exporting your model with 1 set of normals and importing with another, causing that glaring seam.
  • NanoTurtle
    After doing some tests of my own I came to a similar conclusion. After exporting a test mesh from blender to cryengine I noticed my vertex normals were all wrong. Exporting my mesh from max gave me slightly better normals. Only after forcing custom normals did I get the right ones but there was still a seam. I also had trouble with my mesh in max. It's as if it's getting corrupted somehow.

    I'm going to try a rebake and an FBX import tomorrow and if that doesn't work it looks like I'll be without engine until I can jump ship to UE4.

    Thanks a lot for the help, it is appreciated.
Sign In or Register to comment.