Home Technical Talk

Seams on normals again! Help?

Replies

  • passerby
    Options
    Offline / Send Message
    passerby polycounter lvl 12
    when exporting to xnormal, use xnormals sbm exporter, and check off "Export Tanget Basis, so it uses the same tanget basis to bake as max uses in it;s viewport.

    also dont test normals by doing a render in max, use a realtime shader like 3point shader or Xoliul shader, or even better test in your target game engine since it could use a different tangent basis yet again.
  • Kensey Quarantine
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    You must flip the green channel or use X+Y-Z+ swizzling.
  • Kensey Quarantine
    jogshy,
    Yes, i already inverted it.
    Hey, you are developer of xNormals! Can you please describe me a full path from zbrush to UDK via xNormals? Pleease. I dont know who to ask otherwize.
  • Kensey Quarantine
  • Kiser Designs
    Options
    Offline / Send Message
    Kiser Designs polycounter lvl 12
    Does you mesh have a spec map on it?
  • Kensey Quarantine
    Kiser, the spec is the "specular"? If this, there is none — i've delinked all maps but normal map, and put in diffuce constant 1 (Pure white)
  • Quack!
    Options
    Offline / Send Message
    Quack! polycounter lvl 17
    Do you have a second uv channel for the lightmap? If not you need one, then make sure udk knows which channel the lightmap uv is in.

    If you just place on object in the editor and don't rebuild, it uses realtime lighting with no shadow maps. If you rebuild lighting, it will take into account your lightmap UV, and if you don't have one, or yours is bad, it will create problems.

    http://udn.epicgames.com/Three/LightMapUnwrapping.html
  • Kensey Quarantine
    Yes, Quack!, i've already set lightmap coordinates to 0 (i have non-overlapping UVs that suitable for lightmaps)

    My main problem is that realtime lighting is perfect, but lightmapping make seams on UVs edged and some total chaos at all model.
  • Quack!
    Options
    Offline / Send Message
    Quack! polycounter lvl 17
    What does your lightmap UV's look like?
  • Kensey Quarantine
  • jogshy
    Options
    Offline / Send Message
    jogshy polycounter lvl 17
    Have you setup the normal's smoothing groups? Have you performed a ResetXForm/Freeze transformations before exporting?

    You should be sure your UVs are well welded and, if possible, pixel snapped. Also, pls sure you export your models from ZBrush with the MergeUV option enabled.

    Are you using UV mirroring? You must follow the posted UDK's Lightmap tutorial to avoid problems with seams.

    And remember the max2obj exporter that comes with old versions of 3dsmax is super-bugged. Use gw:Obj instead.
  • Kensey Quarantine
    jogshy wrote: »
    Have you setup the normal's smoothing groups?
    What do you mean? Should i make a separate smoothing groups for every piece of unwrap?
    Have you performed a ResetXForm/Freeze transformations before exporting?
    Yep.
    You should be sure your UVs are well welded and, if possible, pixel snapped.
    Errr... if "welded" means "vertexes on UVs seams should be welded togerther" — if so, i thought that UVs can be split in separate pieces; otherwize i cant properly texture a model.
    Also, pls sure you export your models from ZBrush with the MergeUV option enabled.
    I havent baked any maps in zbrush.
    Are you using UV mirroring?
    Nope.
    And remember the max2obj exporter that comes with old versions of 3dsmax is super-bugged. Use gw:Obj instead.
    Yeah, i have gw:OBJ that comes with 3dsMax 2012.

    Here is my pipeline, please, somebody, help me stop this madness.
    historyofmadness.jpg
  • Joopson
    Options
    Offline / Send Message
    Joopson quad damage
    Hm, why is it a normalParam? Why not just a regular "Texture sample"

    Also, no need to plug in the UVcoords node, really. Unless you are tiling the texture.

    Oh, by the way, don't mention if a software is cracked. It's sort of taboo. I mean, I'm sure many here use cracked software, but to mention it is another thing entirely. So, you know, keep it a secret unto yourself, haha.

    Anyway, other than what I just mentioned, I don't really know what it could be. Also, when importing the normal map, under compression settings, make sure you choose "TC_NormalMap"

    I don't know why, it is just how it's done.
  • Kensey Quarantine
    Joopson,
    Changed NormalParam to Texture sample, nothing good.

    About the UVcoords — Epics plug them in every material, on non-tileable textures, or even on meshes with one UVs... well, i dont know, just some paranoia, everything must be perfect if i dont know where my mistake hides :3

    Also another clue to the puzzle:
    The seams appears even on non-existing UVs!
    seams.jpg
  • Joopson
    Options
    Offline / Send Message
    Joopson quad damage
    And, not to beat a dead horse (but all signs point toward this being the error), do you have 2 UV unwraps? Texture UVs in channel 1, and Lightmap UV's in channel 2?
  • Kensey Quarantine
    Hm... no, does it really matters? I've set Mesh Lightmap Coordinates to "UV Layout 0" which is 0..1 space, non-overlapping, non-mirrored, etc.
    Well, i'll try to make 2nd channel now.
  • Kensey Quarantine
    Uh... generated second UVs for lightmap, nothing changed.
    badtimes.jpg
  • Joopson
    Options
    Offline / Send Message
    Joopson quad damage
    That's....incredibly strange. I can't imagine what the issue would be, if not the UVs. Hm.
    EDIT: Going to bed. Good luck with the problem!
  • cptSwing
    Options
    Offline / Send Message
    cptSwing polycounter lvl 11
    how i try to minimize visible seams when exporting from max to udk:

    - enable quality viewport normals
    - assign unique SG's to each UV shell, and bake with exported tangents using xnormals sbm format
    - unwrap second uv channel for lightmaps, welding as much as possible, especially on mirrored geo
    - export using fbx, with smoothing groups. do not check "export tangents and binormals"
    - import mesh to UDK using [x] import tangents

    i might have missed a step or two, it's a longish process. after baking your lights, it should look okay.

    EDIT: oh yeah, remember to set your green channel to Y- when baking
  • r4ptur3
    Options
    Offline / Send Message
    r4ptur3 polycounter lvl 10
    Hey Kensey!

    I might be able to shed some light on the problem (funny joke, right?). You are always going to get light map seams on objects where the UV shells are mapped diagonally. You have to make sure your Lightmap seams fall between pixels to ensure a perfect seamless light bake. This means your UV shells are going to stretch.

    Unreal fills in the negative areas on your lightmaps with black. When a lightmap seam falls on multiple pixels (like on a diagonal) you will get some harsh artifacting.

    Solution 1: make sure all your seams fall between pixels.

    Solution 2: bah humbug to light maps, it looks like you have plenty of verticies to work with. Set the lightmap coordinate index to a channel that does not have UVs. This will force Lightmass to bake lighting into the mesh's verticies. The mesh will shade much smoother and avoid nasty seams.

    Hope this helps!





    Oh yeah, almost forgot -- those seams will most likely disappear when you add a diffuse texture to your asset. The seams are not too noticeable right now so a rocky diffuse map should cover them right up. Check out some of the UDK's assets. There are seams all over the place but they are not too noticeable once a diffuse map is applied.
  • Snader
    Options
    Offline / Send Message
    Snader polycounter lvl 15
    You've got a single smoothing group for the entire mesh, but separate UV islands.
  • odd_enough
    Options
    Offline / Send Message
    odd_enough polycounter lvl 12
    Kensey Quarantine,

    I have to mention this, even though it is unrelated to your topic. I understand you might be a non-native English user, so I don't mean any offense by this. But your "Why did CHAOS become?" question in one of your images is now a frequently used phrase around the office. We were thinking of getting shirts made up in your honor.
  • Butthair
    Options
    Offline / Send Message
    Butthair polycounter lvl 11
    If you could upload that mesh and it's normals, I'll be willing to take a look at it.

    Also, have you done a bake lighting without normals on it? (I.e. just diffuse.) Just to troubleshoot anything about normals, because I've encounter such before.
  • Xendance
    Options
    Offline / Send Message
    Xendance polycounter lvl 7
    Your lightmap UV's are way too tight for mere 32 pixel lightmap resolution. The pixels bleed onto other UV islands, giving you seams.
  • darthwilson
    Options
    Offline / Send Message
    Somethings to think about..

    -won't hurt to make sure your xForms are reset

    -make sure your lightmap UVs are well laid out

    -when using xNormals the creators advise putting a cage modifier and exporting the low poly as an xNormals file and check the cage option in the program.. Normal maps look much better

    -you don't need that big of edge padding when baking

    -when importing the normal map make sure to change the LOD settings to world normal

    -delete the texture coord node from your normal map.. Epic only do this for overlaying detail normal maps..
  • Kensey Quarantine
    So, guys, that mesh was CORRUPTED BY NECRIS NANOBLACK.
    I dont really know wtf is wrong with it, but lightmaps on my next mesh bakes perfectly!


    r4ptur3,
    Set the lightmap coordinate index to a channel that does not have UVs. This will force Lightmass to bake lighting into the mesh's verticies. The mesh will shade much smoother and avoid nasty seams.
    Yes, i've did this, but it looks like the point of lightmaps is missed in such a way! Because i can clearly see my normals on the mesh, and the lighting isnt baked to a texture but to a verticles, i csn assume the lighting is real-time... I may be absolutely wrong anyway :3

    odd_enough, haha, that was school joke. When something goes totally bad, this person shoud scream "CHAOS BECOME!" — just like WH40k space marines.

    Xendance, yep, i know that rule, thanks anyway.

    darthwilson, i've did all just like you said (just not bakedd with cage, thats long and borning). The mesh is corrupted, nothing can help it now but anathema.
Sign In or Register to comment.