Search Unity

Tangent Seam

Discussion in 'General Graphics' started by Chubbydan, Nov 24, 2014.

  1. Chubbydan

    Chubbydan

    Joined:
    Nov 21, 2014
    Posts:
    14
    Hi everyone,

    I've had an issue with normal map seams as detailed in this thread,

    http://forum.unity3d.com/threads/3ds-max-normals.281450/

    At first I assumed it was the workflow between 3ds max and Unity but the more I've investigated the more it seems this is a technical issue with Unity.

    This thread from polycount last year also highlights the issue,

    http://www.polycount.com/forum/showpost.php?p=1931099&postcount=253

    I'm planning on cross platform deployment for the project I'm currently working on, so changing to deferred rendering does not solve the problem. The application I hope to create will have models at extremely close inspection and so therefore I cannot hide UV seams although I don't think I should have to.

    Can anyone advise or move my previous thread from the external category to a more appropriate location please?

    Cheers,
     
  2. Chubbydan

    Chubbydan

    Joined:
    Nov 21, 2014
    Posts:
    14
    Hi everyone,

    To summerise where I am at the moment with this;

    - Unity set to forward rendering
    - Sphere model has been UV mapped into two halfs
    - When a blank diffuse shader is applied in Unity the sphere looks fine
    - When a blank bumped diffuse or bumped specular shader is applied a seam appears

    No maps are plugged into the shaders so it's not down to workflow.

    Deferred rendering will get rid of this seam but this is not an option for me on the project I'm working on.

    Any advice please?

    Cheers,
     
  3. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    Before baking the highpoly down to a normal map try this:
    1) Where there is a UV Split, create a hard edge in the lowpoly (with your sphere this should probably result in two smoothing groups)
    2) Triangulate your lowpoly
    3) bake - make sure to add a reasonable padding (see the Render To Texture menu) to your baked uv shells
    4) export the triangulated lowpoly mesh to Unity and see if this resolves the error

    Ususally you should not need to have a hard edge wherever you have a UV split. But maybe it works. One of the most important steps however is the padding - otherwise your mipmaps will eat the normal information away.
     
    OllyNicholson likes this.
  4. Chubbydan

    Chubbydan

    Joined:
    Nov 21, 2014
    Posts:
    14
  5. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    True, this topic appears once in a while. The thread over at polycount that helped me most was this one:
    http://www.polycount.com/forum/showthread.php?t=107196

    I just gave it a try and created a highpoly and a lowpoly target sphere in Maya. The target sphere is split in half within the UV layout. No hard edge at the equator. The normal map works well - no visible seam. Unity Beta 5.
    Not sure what might be wrong with your setup - might be 3dsmax that spits out a strange normal map.
     
  6. Chubbydan

    Chubbydan

    Joined:
    Nov 21, 2014
    Posts:
    14
    Currently on unity 4.5, ive tried the export from maya also with the seam showing. Could you let me know if you've got deferred rendering on and also what shader you're using please?

    If it's not inconvenient could you send me the sphere to try in the scene?

    cheers
     
  7. Chubbydan

    Chubbydan

    Joined:
    Nov 21, 2014
    Posts:
    14
  8. Chubbydan

    Chubbydan

    Joined:
    Nov 21, 2014
    Posts:
    14
    Hi everyone,

    After a fair old search I can confirm it is indeed a shader issue.

    A programmer colleague of mine has created a new shader for me and voila, no seams!