Home Technical Talk

Normal map is driving me crazy

Hamza
polycounter lvl 5
Offline / Send Message
Hamza polycounter lvl 5
hello
i really need help to understand the normal map once and for all.
i read many threads in polycount and in each one, people are debating about the best practice, some says using 1 smothing group is the best method other says different smothing group is better.... anyway i'm running some test here to better understand the normal map and here is what i end up with

14vr1qs.jpg

definitely the avreage cage sucks, i dont know what's the utility of using it, and still cant get rid of the black edges though i did everything by the book :poly142:

Replies

  • C86G
    Offline / Send Message
    C86G greentooth
    Um, flip Y/Green on the left one?
  • Hamza
    Offline / Send Message
    Hamza polycounter lvl 5
    C86G wrote: »
    Um, flip Y/Green on the left one?

    nah it dosent work, that only flip the direction of the gadient and still have distorion on the edges
  • C86G
    Offline / Send Message
    C86G greentooth
    What software are you using?

    I got some now and if you want, i could check what you may be doing wrong.
    I use Max (2010) and xNormal.
  • Hamza
    Offline / Send Message
    Hamza polycounter lvl 5
    thanks, i use max 2013 and Xnormal
  • C86G
    Offline / Send Message
    C86G greentooth
    If you want, you can send me the max file (and the Obj alone) and I`ll check it.
    Just pm me : )
  • Shudrum
    Offline / Send Message
    Shudrum polycounter lvl 6
    Hi !

    The best thread I've found here is this one and it works perfectly for me : http://www.polycount.com/forum/showthread.php?t=107089

    Really simple, the hi poly with the rounded edges, the low poly without smooth group, and a cage with one smooth group for all the mesh.
  • Hamza
    Offline / Send Message
    Hamza polycounter lvl 5
    Shudrum wrote: »
    Hi !

    The best thread I've found here is this one and it works perfectly for me : http://www.polycount.com/forum/showthread.php?t=107089

    Really simple, the hi poly with the rounded edges, the low poly without smooth group, and a cage with one smooth group for all the mesh.


    thank you nice thread :thumbup:
  • MrOneTwo
    Offline / Send Message
    MrOneTwo polycounter lvl 12
    Check in xnormals viewer if your exported cage is ok. Also if you create cage in separate app apply one smoothing group to whole cage.
  • Will Faucher
    Offline / Send Message
    Will Faucher polycounter lvl 12
    Almost seems to me like your uv shells aren't split, nor do they seem to have any bleeding. Might want to look into that.
  • Hamza
    Offline / Send Message
    Hamza polycounter lvl 5
    actually my uv are split, but i fixed it is a cage problem, i use esported cage and i should check use cage in Xnormal :p.
  • C86G
    Offline / Send Message
    C86G greentooth
    Hamza, that was not the problem. I baked in xNormal wit your boxes and I DID check the cage thing in xNormal.
    My test bakes worked perfectly in new max scenes but NOT in the one you had.

    I´m still quite sure it´s something with your Max settings.
  • DreamLoveKit
    Offline / Send Message
    DreamLoveKit polycounter lvl 5
    For future reference, don't even try to "understand the normal map once and for all" in a Max viewport - it always tends to display inaccurate results. I assume that you'd like to master a normal map workflow for a real-time graphic engines (video games, and so forth) - so pick a one, which suites you best. On the images below, I have built lp and hp cubes similar to yours and I’ve baked normals information via xNormal - just as you did. I've assigned a discrete smooth group to each face of the lp mesh, and mapped each face - correspondingly - as a separate UV island. As a diffuse map I’ve used a mid-grey image.

    Normal Map

    Now, here's what I’ve got when I loaded the bake results with a very basic hlsl shader, the simplest you can imagine (I have written it a long time ago):

    Max result

    Aye, it looks awfully. But if you go ahead and import all your assets to the game engine of your choice:

    UDK preview

    It suddenly starts to be as it’s supposed. It’s because video game engines use normal maps in a very peculiar way. I can assure you (and I know it from my own experience) that if you enter the same input to the idTech4 or Unity (besides that you have to flip the green channel in xNormal or Photoshop), you’ll obtain the same results.

    I’d like also like to point out two issues that I've spotted in your second bake. First, let your UV islands breath - you've assigned a 16px padding, but the spacing between most of your UV chunks almost does not exist. Secondly, the edge padding should depend on the output resolution - if you bake 1k map, set padding to sth around 3 or 4px. Your "black edges" problem arises not only from a hopeless 3ds Max viewport ability to render real-time content, but also in a lack of padding in some areas.
Sign In or Register to comment.