Home Technical Talk
The BRAWL² Tournament Challenge has been announced!

It starts May 12, and ends Oct 17. Let's see what you got!

https://polycount.com/discussion/237047/the-brawl²-tournament

Normal Map Problem

Offline / Send Message
Pinned
Hi guys, newbie here.

So I want to create a 3D asset. I want to bake my highpoly mesh to lowpoly. After baking, I tried the baked result to lowpoly, but why does the result have edges like this in the lowpoly mesh?


(Highpoly mesh)

(Lowpoly Mesh)

Result

Replies

  • okidoki
    Offline / Send Message
    okidoki greentooth
    Not enough space (in blender, as this seems to be, called margin) between UV-islands ?? Just a guess.. you might give some more info..
    Also the low-poly seems to have orthogonal but not-connected faces.. and n-gons.. (even if that part seems to lokk okay).
  • Neox
    Offline / Send Message
    Neox grand marshal polycounter
    looks to me like you do not have UV splits where you have hard edges.
  • Noanoww
    okidoki said:
    Not enough space (in blender, as this seems to be, called margin) between UV-islands ?? Just a guess.. you might give some more info..
    Also the low-poly seems to have orthogonal but not-connected faces.. and n-gons.. (even if that part seems to lokk okay).
    I set my UV padding to 16px and I tried to increase the padding to 32px to bake in 4k resolution textures

  • Noanoww
    Neox said:
    looks to me like you do not have UV splits where you have hard edges.
    okay, so every hard edge has to have seams?
  • gnoop
    Offline / Send Message
    gnoop sublime tool
    Noanoww said:
    okay, so every hard edge has to have seams?
    Basically yes ,  because  its already a seam for a videocard  and every hard edge  is  a split edge doubling  vertexes  along it.   Yet  not every UV seam  needs  to be a hard edge    and you don't have to always do hard edges along beveled  edges.      Google  and try to  understand  face weighted  vertex/split normals  or ask chat GPT?  

    Shading  of any  polygonal surfaces is defined by vertex or split (in Blender terminology)  normals  ( pink vectors) first.   Normal map is just a cherry on top of it.   Once you figure out the concept of vertex normals  and how they create shading    the else become instantly obvious.   
  • Neox
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    @Noanoww
     "okay, so every hard edge has to have seams?"

    To understand it fully, simply observe the current normalmap of this area (and also post a screenshot of it here, for the sake of future people potentially viewing this thread) : 



    The cause of these artefacts will be pretty much self-evident once you look at it closely.
  • Noanoww
    pior said:
    @Noanoww
     "okay, so every hard edge has to have seams?"

    To understand it fully, simply observe the current normalmap of this area (and also post a screenshot of it here, for the sake of future people potentially viewing this thread) : 



    The cause of these artefacts will be pretty much self-evident once you look at it closely.
    This is the UVs

  • Neox
    Offline / Send Message
    Neox grand marshal polycounter
    these are the UV seams maybe, doesnt say much about the actual UVs. but yeah one can certainly see, you dont have seams where the hard edges are

    the general rule of thumb is, every hard edge is a UV seam, but not every UV seam is a hard edge.
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    @Noanoww

    Hi,
    I am suggesting you to post a *screenshot of the normalmap* corresponding to this area. Once you do so and take the time to observe it closely, you'll understand your issue.

    Also, @gnoop , I hate to be a bit of an ass but "
    Google and try to understand face weighted vertex/split normals or ask chat GPT?" or "something something videocard" isn't contributing anything to help the OP understand the issue. If anything this is just adding even more misinformation/slop to a topic that has been hard to grasp for artists for years.
  • Celosia
    Online / Send Message
    Celosia keyframe
    Noanoww said:
    This is the UVs
    Select the object then look for the "UV Editing" workspace tab at the top. Press "A" to select all geometry. We want to see the UVs that'll appear on the left.

    In case there's no image under the UV you can select it from the header in the UV Editor or click on it from a Shader Editor and it'll appear automatically, but in this case having the normal map itself visible isn't necessary to see how the object was unwrapped; you'll see it highlighted as geometry on the left if you selected the vertices (or use UV Sync Selection).
  • gnoop
    Offline / Send Message
    gnoop sublime tool
     isn't contributing anything to help the OP understand the issue. 
    Yeah, Google maybe is not very specific and helpful advice   but chat GPT  sure is.  I didn't ask it to explain me vertex based shading personally   but  did for a lot of  real time shader  and pixel  manipulating techniques   and it have been best teacher  and best focused and compacted  info   no  nvidua published  GPU gems ever been for me .

  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    the robot is only going to recycle the misinformation
    this is a subject that cannot be googled because at least half the people who write with 'authority' on the subject are wrong. 

    The one good source of information I've found  - and the only one I hand over to artists who encounter this - is the sticky thread about wavy normal maps on this very forum.

  • HAWK12HT
    Offline / Send Message
    HAWK12HT polycounter lvl 13
    This will help you understand the issue and fix it.

    https://www.artstation.com/artwork/rlGqrE
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Well, while breakdowns and explanations about wavy bakes are indeed useful, the artefacts in the work of the OP aren't caused by that. They are more than likely caused by the baked pixels of the normalmap instantly jumping from one value to another across the (hard) edge but without UV room to breathe since the UVs have been left continuous instead of being split off. Hence the texture filtering causing improper values to show up on both sides. Or perhaps I am misunderstanding it ; either way, showing the map and the UVs overlaid on top as suggested by Celosia would help.

    If anything this one case of hard edge artefacts is great for educational purposes as it is quite clear and self-contained. Looking forward to the OP solving it and this thread perhaps becoming a useful learning resource.
  • cursorman
    Absolutely agree — this is a solid breakdown. The artifact indeed looks like a UV continuity issue rather than a bake smoothing problem, especially when the normal map values shift sharply across a hard edge. Seeing the UV layout over the normal map would clarify it instantly. Automation of manual work – developers can automate repetitive tasks such as reporting, customer communication, or order processing, saving you time and money. That’s why many studios choose to hire game developers when they want to streamline workflows and focus more on the creative side of production.
  • gnoop
    Offline / Send Message
    gnoop sublime tool
    Here is an simple explanation of vertex normals  ChatGPT gave me . Decades ago it took me a month probably  of miss and hit  to figure out. I wish there were something like chatGPT back then:

    [moderator edit, AI summary removed, we don't want AI regurgitated info on Polycount,]

    ps. Well , when I asked Chat to generate  picture examples   it still went not that good although

  • Neox
    Offline / Send Message
    Neox grand marshal polycounter
    Am I wrong thinking, if someone wanted to ask ai instead of people, the person would have done so?
    I feel like filling a forum with chathgpt generated content is just not a great idea.

    On the other hand AI chewing on itself, because everything it finds is its own generation will only help deteriorate it...

    Everything this thread needs has been answered in the link posted above btw, with practical examples and everything. Why even ask AI in that case?
  • FrankPolygon
    Online / Send Message
    FrankPolygon grand marshal polycounter
    Not much to add. Neox and pior have already covered most of what's relevant to the original question about the normal baking artifact, including the how and why. The handplane video in the thread Neox linked to is a really good summary of how it all works. Definitely recommend watching it: there's a visual breakdown of what typically causes these types of normal artifacts at the 4 minute mark.

    Some other resources worth mentioning:

    Hiding, rather than deleting, the now slightly off topic portion of the reply:
    The removed summary about vertex normals, shading behavior, and gradation in normal bakes wasn't completely inaccurate but it was somewhat reductive. Rather than just taking things like that at face value it can be helpful to look at actual technical documentation that has visual examples then try applying that knowledge to a few sample bakes and compare the results. The cube smoothing example it kept referencing is easy enough to work through and can be used to test whether or not the points in the summary were accurate.

    A couple of other relevant technical resources that have information summaries:
    https://en.wikipedia.org/wiki/Shading#Shading_techniques
    https://en.wikipedia.org/wiki/Normal_mapping#Calculating_tangent_spaces

    Here's an example of what the cube shading exercise could look like.






    (Note that with normal baking it's possible to make the flat shaded cube look like it's smooth shaded and vice versa.)

    It's also worth mentioning that normal gradation in bakes is a bit more nuanced than what's covered by this simple demonstration cube. Here's a couple of other posts that compare different smoothing split placement and low poly optimization strategies:
  • gnoop
    Offline / Send Message
    gnoop sublime tool

    Neox said:
    Why even ask AI in that case?
    I merely meant Chat could give  simple,  clear and still  deep enough   explanation  with just a few  well structured  paragraphs.  If asked  properly.    While many human made instructions just tell : do it this way here  or that way there.  And thats all .     If you don't understand WHY you still know nothing.      
  • Neox
    Offline / Send Message
    Neox grand marshal polycounter
    I understand why one would use it in general, i also understand why you use it.
    I dont understand mixing the output that doesnt add anything to this forum here. 
  • Noren
    Offline / Send Message
    Noren interpolator
    gnoop said:
    I merely meant Chat could give  simple,  clear and still  deep enough   explanation  with just a few  well structured  paragraphs.  If asked  properly.
    But, somewhat ironically, in this instance, it could not. Point 1 was solid, but then it fell apart and only gave a reasonable sounding reply without ever answering the actual question (the solution + explanation to which was given multiple times in this thread, according to the available context).
  • iam717
Sign In or Register to comment.