Home Technical Talk

Unreal Engine 4 - UV seam, Normal (or lightmap bug), and symmetry missalignment.

polycounter lvl 5
Offline / Send Message
Molokotof polycounter lvl 5
Hi everyone,

I'm busy making a next gen gun (almost finished).
But I'm having problems with my normal maps & symmetry in UE4.
I've used photoshop/quixel for texturing / normal enhancement & 3Ds max for everything else.

I know the number of normal/symmetry threads is already over 9000.
But I can't seem to find a solution by reading them.
I've also got this really weird bug, with misalignment on my symmetry seam.
As if the textures are slightly offset.

The normal lighting bug occurs both in UE4 & 3Ds MAX viewport. But once I render in max it's gone

I've already tried a lot of methods, including:
- Rebaking
- Flipping both the green & red channel (both together & separately)
- exported as .obj & fbx, multiple times with different settings.
- applied turn to mesh & uvw_unwrap (separately) in max before exporting.
- reset xform
- up lightmass quality and lightmap resolution in UE4
- made as manual second uv for the lightmap
- checked high poly for unwelded verts
- manualy moved the mirrored part of the drummag to try and align it, but it's always a pixel above or below the other side.
- mirrored the symmetrical part in unreal, and then used the mirror mode for texture wrapping in UE4.
- probably a lot more methods that I cannot recall.

Perhaps worth mentioning, before I apply the my textures in DDO (so normal detail aswell), the seam is much less visible.

Any help is much appreciated :D

High Poly

NkNpusZ.jpg

Normal/Lightmap Seam

vU268Y1.png

Texture symmetry offset

wlhAkpV.png

Max viewport

9DtorFO.jpg

Mental Ray render

51NtLvr.jpg

UVW

5pOhBTu.jpg

edit: pictures weren't linked correctly

Replies

  • Neox
    Options
    Offline / Send Message
    Neox godlike master sticky
    how did you bake the normalmap?
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    I can't speak to UE4 but UE3 has issues with symmetry when you are importing mesh normals. Try turning off explicit normals/import tangents and see if the seam goes away. You will get a bunch of shading errors but that might help narrow down the cause.

    Edit:
    Also, can you show your lowpoly smoothing and what the normal map looks like in that area?
  • Molokotof
    Options
    Offline / Send Message
    Molokotof polycounter lvl 5
    I baked the normal map by:
    - first modeling the highpoly, with symmetry on symmetric parts.
    - then retopologizing to get the low poly.
    - Parts with symmetry where sliced in half and unwrapped, as well as unwrapping the rest of the low poly
    - then symmetry was applied on the symmetric parts, symmetric uv's offset 1 unit to the right, and collapsed stack.
    - Exploded low and high poly in separate scene, Merged exploded high poly to 1 editable poly.
    Baked normals.


    I just tried importing into UE4 and exporting out of max without explicit normals, but too no avails

    Also I don't know how to visualise smoothing groups in max, so it's just a screenshot of the low poly.

    YehaMWO.jpg

    And a render with normals map in the diffuse slot:

    NhcxJgc.jpg
  • Neox
    Options
    Offline / Send Message
    Neox godlike master sticky
    WHERE did you bake your

    max and unreal are not synced
  • AdvisableRobin
    Options
    Offline / Send Message
    AdvisableRobin polycounter lvl 10
    When you import the normal map into UE4 make sure its compression is set to TC Normal and not TC Default.

    Edit: Also if end your normal map files with _N or _normal it should set the compression automatically on import.
  • huffer
    Options
    Offline / Send Message
    huffer interpolator
    I think you have a tangent space issue, described here under UV winding order; meaning the binormals of the vertices in the seam are flipped inside of max and your exported files, you could try to get a perfect sync to UE4 by baking with xNormal (import .obj's and tick the checkbox inside MikkT tangent basis calculator plugin).
  • Molokotof
    Options
    Offline / Send Message
    Molokotof polycounter lvl 5
    Oh, I baked in max.

    And yes the compression is set to TC Normal DDO automatically sets a "_maptype" suffix behind all the textures.

    And i'll try xNormal as a back up, right now I'm trying this guide http://www.polycount.com/forum/showthread.php?t=116922

    Already fixed the misalignment by mirroring the entire offset part of the uv's and manually adjusting them to line up.
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    A quick note about Unreal Engine 4 and Xnormal, the 4.7 preview is actually synced properly with Mikk, so it's probably worth it to try the asset and xnormal normal map in that version.
  • Molokotof
    Options
    Offline / Send Message
    Molokotof polycounter lvl 5
    A thanks, downloading the 4.7 preview right now.

    For Xnormal, should I export my obj in exploded format? And export the high and low poly as separate obj's?

    Thanks for the help everyone btw :)
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    Yes and yes. And use a cage.
  • Neox
    Options
    Offline / Send Message
    Neox godlike master sticky
    use sbm it's the most simple approach to use xnormal with max. because it exports your lowpoly with projection modifier (cage) in one file.
  • Molokotof
    Options
    Offline / Send Message
    Molokotof polycounter lvl 5
    Oh nice, and obj for the high poly then?
  • PolyBend
    Options
    Offline / Send Message
    Necroing this thread. Did anyone ever figure out how to get mirrored UVs and normal maps to work in UE4?

    I can get any other bake perfect by checking mikktspace in xnormals. However, no matter whay I do, there is always a seam with mirroed UVs when I try to go from MAX to Unreal 4.

    Current process:

    1. Export low poly, mirrored UVs with extra shells offset 1 UV space, single smoothing group, as FBX with tangents and binormals, triangluate, and smoothing groups.

    2. Export high poly

    3. Import both in xnormal and bake with Y- and MikkTspace checked.

    4. Import same low poly into Unreal with import normals AND tangents.

    Ideas on what I am doing wrong?
  • PolyBend
    Options
    Offline / Send Message
    So I have been messing with this a bit more. I got it to work by using an OBJ instead of an FBX. I really do not like that solution since Skeletal Meshes have to be FBX. So I kept digging.

    Apprently something really odd is happening with 3DS Max (2015) for me. If I take my model, export it as an OBJ, bring it back into max, then export it as an FBX, it works. I am guessing there is something wrong with my normals. However, this error is very consistant, as I have created 12 test objects (simple planes, nothing complex) and all of them give me the same results. I know from experience that converting to editable mesh and then to editable poly fixes this issues as well... Sadly, that means you would lose all stack information.

    I am going to contact autodesk and see if I can get a response on this issue. If anyone has anything to contribute, please feel free to post.


    Edit: I tested Edit Normal and reset. It does not do anything. However, you can add an edit mesh and then add an edit poly modifier and it will fix it without you needing to collapse.
Sign In or Register to comment.