Home Technical Talk

Low-Poly Normals Issue

Ignas
polycounter lvl 4
Offline / Send Message
Ignas polycounter lvl 4

Hi Polycount,

Is there a way to fix normals like this?

I usually don't care about normals like that as I would use a baked normal map on top of that to hide it.

I was hesitant asking about as I thought it was embarrassing beginner question, but I just can't get it off my mind and cannot find anyone talking about this online.

The best I can get it to look is like this:

This was done by unlocking normals and running this MEL script:

polySetToFaceNormal -setUserNormal;
polySoftEdge -a 180

*When bevelling Mitering must be set to NONE for this to work

I've found this solution from this video:

This seems like a really weird way of solving this, is there a more streamlined way of fixing normals on low-poly meshes?

Is there a certain workflow for working with normals in Autodesk Maya? Maybe some sort of plugin or tool?

Another thing I don't understand is why does mitering affect the normals so much? There is no visible difference between these 2 models' topology:

The only difference between them is that the one on left had mitering set to auto when it was bevelled and the one on the right has mitering set to none. I unlocked normals on both of them and ran the same script to get that result.

This is all theoretical and it's for no specific project but it does have many practical applications.

Let's say you've modelled something somewhat low-poly with a few bevels here and there, BUT you forgot to turn off mitering when bevelling, does that mean that you're screwed and can't get nice looking normals?

Are there any tutorials / resources that show how to work with normals?

If there is any clarification needed please let me know and I will respond.

Many thanks!

Replies

  • dimwalker
    Offline / Send Message
    dimwalker polycounter lvl 16

    I would expect lowpoly model that is all smooth to look wack. Even weighted normals won't help without additional loops. Looks pretty much the same in max

  • Eric Chadwick

    Display the vertex normals and you'll see why. They're pointing non-planar to the larger polygons.

    This is because the vertex normal directions are averaged between neighboring polygons. Face-weighted normals can help fix this, but not always.

    There's also the issue of non-parallel quads. The big top and bottom quads are trapezoidal, which adds more shading "stress".

    Really, the best solution for this is face-weighted.

  • Ghogiel
    Offline / Send Message
    Ghogiel greentooth
    dimwalker said:

    I would expect lowpoly model that is all smooth to look wack. Even weighted normals won't help without additional loops. Looks pretty much the same in max

    With such clean loops and a double bevel, FWN in max it'll look pretty good imo. It's basically the ideal candidate for using FWN, all the large faces will already have nearly flat shading/perpendicular normals on a model like that, extra loops will only help if they additional bevel loops I'd suppose. 

    As for the question, I have no clue why mitering on/off on the bevel has such an effect on the normals. I think maybe something like one adds a hard edge and the other doesn't, so when you unlock and point normals to face then smooth them, the outcome is different because when you point normals to face you have different amount of vert normals being adjusted about, hence shading discrepancy. Try adding adding hard edges at the start of your script. 
  • dimwalker
    Offline / Send Message
    dimwalker polycounter lvl 16
    Ghogiel said:
    dimwalker said:

    I would expect lowpoly model that is all smooth to look wack. Even weighted normals won't help without additional loops. Looks pretty much the same in max

    With such clean loops and a double bevel, FWN in max it'll look pretty good imo. It's basically the ideal candidate for using FWN, all the large faces will already have nearly flat shading/perpendicular normals on a model like that, extra loops will only help if they additional bevel loops I'd suppose. 

    As for the question, I have no clue why mitering on/off on the bevel has such an effect on the normals. I think maybe something like one adds a hard edge and the other doesn't, so when you unlock and point normals to face then smooth them, the outcome is different because when you point normals to face you have different amount of vert normals being adjusted about, hence shading discrepancy. Try adding adding hard edges at the start of your script. 
    You are right. Checked with old script and it gave me weird results. Native weighted normals modifier works well, only corners are messy.
Sign In or Register to comment.