Home Technical Talk

normal map seams become visible when mesh is deformed/animated

Bummer6
polycounter lvl 13
Offline / Send Message
Bummer6 polycounter lvl 13
Sorry to come asking for help yet again, but I'm having some issues with my normal map. It looks fine as long as the character is in the pose it was baked in, but as soon as I start to animate it or deform the mesh in general, the UV seams become painfully obvious (as seen in the picture). What could be causing this?

Replies

  • Bummer6
    Offline / Send Message
    Bummer6 polycounter lvl 13
    I fixed the issue in some of the areas by smoothing all the mesh's normals before baking, but this area is still refusing to work properly. I've tried baking it with hard edges around the UV seam as well as smooth edges. Both produce pretty much the same result.

    left image is in bind pose, right image is slightly deformed.
    As you can see the UV seams are still painfully obvious, and the problem only gets worse the more deformed the mesh is. I've also tried baking the normal map in Substance Painter, and that produced the same problem. I tried importing the mesh into unity to see if the problem was visible in other applications, and it most certainly was. Is there some trick to baking normal maps for meshes that are going to deform during animation? I mostly have experience baking normal maps for hard surface objects that don't deform, so these problems are entirely new to me.

    I'd really appreciate some help, I don't know what else to try.
  • Bummer6
    Offline / Send Message
    Bummer6 polycounter lvl 13
    Here's another problem area where the seams become obvious when the model is deformed. I still have no idea how to solve it. A friend said I should increase the padding in the texture, but that did absolutely nothing.


    Does anyone have any helpful ideas?
  • claydough
    Offline / Send Message
    claydough polycounter lvl 10
    what is your vert order direction? ( quad split )
    Have u locked it down to right or left?
    Otherwise it will flip inside quads to the shortest distance during animation/deformation.

    been awhile since I had similar issues but I think as much was helpful in consistently
    viewing seam issues that might not be obvious otherwise.
    ( exposed in animation when the triangles flipped. )

    Depends if u can export as much as well? ( engine/pipe consideration )

  • Bummer6
    Offline / Send Message
    Bummer6 polycounter lvl 13
    claydough said:
    what is your vert order direction? ( quad split )
    Have u locked it down to right or left?
    Otherwise it will flip inside quads to the shortest distance during animation/deformation.

    been awhile since I had similar issues but I think as much was helpful in consistently
    viewing seam issues that might not be obvious otherwise.
    ( exposed in animation when the triangles flipped. )

    Depends if u can export as much as well? ( engine/pipe consideration )

    Hadn't thought of that, so I tried triangulating the mesh, but the problem still persisted. Nice idea though... Too bad it didn't work. :(
  • Bummer6
    Offline / Send Message
    Bummer6 polycounter lvl 13
    Just did another test.

    I imported my highpoly into a brand new scene and made a whole new mesh around one of the problem areas (the armpit) using the quad-draw tool. I UV-mapped my new test mesh and baked it.
    As soon as I stretched the area around the UV seams, the seams became visible, as before.

    This rules out starting over as an option for me, as this proves that even if I did start the entire project from scratch, I would run into the exact same problem again.




    EDIT: Ran yet another test. I downloaded xNormal and tried baking with that. Got identical results... Now I've used three different programs to bake normal maps, and they've all come up with the same problem. WHAT IS HAPPENING?
  • Noren
    Offline / Send Message
    Noren polycounter lvl 19
    Might have to do with the order of operations that your realtime renderer uses. The normal map does smooth out the mesh for specific surface normals, after all. If you animate your mesh, those normals change.
    But sharp edges like that should only appear if your vertex normals were previously split (or maybe made explicit and are destroyed by the animation). Just wild guesses, though. What software do you use to create your meshes / display the normal mapped lowpoly?
    Maybe your exporter splits the vertex normals along uv-seams or you did that yourself. (Which makes sense for rigid parts and especially steep angles, but is not necessary for smooth transitions with properly aligned baker and renderer.)
  • Bummer6
    Offline / Send Message
    Bummer6 polycounter lvl 13
    Noren said:
    Might have to do with the order of operations that your realtime renderer uses. The normal map does smooth out the mesh for specific surface normals, after all. If you animate your mesh, those normals change.
    But sharp edges like that should only appear if your vertex normals were previously split (or maybe made explicit and are destroyed by the animation). Just wild guesses, though. What software do you use to create your meshes / display the normal mapped lowpoly?
    Maybe your exporter splits the vertex normals along uv-seams or you did that yourself. (Which makes sense for rigid parts and especially steep angles, but is not necessary for smooth transitions with properly aligned baker and renderer.)
    As I mentioned earlier, I've tried baking with smooth edges as well has hard edges along the UV seams. Smooth edges do produce slightly better results, although the seams are still very much visible.
    I've tried rendering the model in Maya as well as Unity. The problem is visible in both programs.
    I used Maya to create the lowpoly mesh.
    If you have any ideas how to fix it, I'd be happy to try anything at this point.
  • Bummer6
    Offline / Send Message
    Bummer6 polycounter lvl 13
    Made a webm of the problem in motion. Not sure if it will make things a little clearer or not.
    Note that there is a 3D breast visible in the webm, so... NSFW warning.
    https://www.dropbox.com/s/aobt1fdwbyfrc9k/normalissue_edit_0.webm?dl=0
  • Bummer6
    Offline / Send Message
    Bummer6 polycounter lvl 13
    Here's the scene for anyone willing to take a closer look.
    I included the .mb file as well as the normal map. It's not rigged, but you can easily see the problem by selecting a few vertices around the problem areas and deform is a bit using soft-select.

    WARNING: NSFW
    https://www.dropbox.com/s/7m4z4x1til7m9wu/ayla_HP.rar?dl=0
Sign In or Register to comment.