Face weighted normals

2

Replies

  • Michael Knubben
    cptSwing wrote: »
    if it looks good

    I just find that relying on things like that is setting yourself up for failure. You may get away with it once or twice, but having an arsenal of tricks that work depending on far too many factors out of your control, is just ridiculous when a proper solution isn't unattainable.
    You create an asset with the normalmap baking in mind every step of the way, you set up the uv's a certain way etc... so when you go in expecting to rely on tricks like that and they fail you, that's lost work. I so far haven't ever seen a need to reach for the dirty tricks since properly learning what normalmaps do and what you can do to alleviate common issues, which was all thanks to Polycount.
  • perna
    Offline / Send Message
    perna quad damage
    MightyPea wrote: »
    I just find that relying on things like that is setting yourself up for failure.

    Good post, good points and well put. Not just for this topic but as general advice.

    Build a solid workflow that covers your needs every single time and avoid too many variables.
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 8
    I don't fully understand it I'm afraid - what's the 'dirty trick' here, relying on edited face normals or relying on the ol' "if it looks good.." saying? And what do the former have to do with UV's?

    That said, I personally don't hand-edit normals on normal-mapped assets either, it's a hassle and I'm afraid of losing the edits somewhere down the pipeline..
    I have used it on lowpoly-only models though, as per this method: http://www.polycount.com/forum/showthread.php?t=66139&highlight=superspecular
  • EarthQuake
    cptSwing wrote: »
    I don't fully understand it I'm afraid - what's the 'dirty trick' here, relying on edited face normals or relying on the ol' "if it looks good.." saying? And what do the former have to do with UV's?

    I think you answered your own question. :poly124:
    That said, I personally don't hand-edit normals on normal-mapped assets either, it's a hassle and I'm afraid of losing the edits somewhere down the pipeline..
  • dirigible
    Offline / Send Message
    dirigible polycounter lvl 8
    MightyPea wrote: »
    You create an asset with the normalmap baking in mind every step of the way, you set up the uv's a certain way etc... so when you go in expecting to rely on tricks like that and they fail you, that's lost work.

    I can't tell if I agree or disagree with you, since I'm not sure what kind of tricks you're talking about.

    For instance "partial mirroring". Like if I had a person with a hole in one side of their shirt, but the rest of the shirt could be symmetrical. As long as I sculpt, model, and uv everything correctly I can wind up mirroring the entire shirt, minus the one area that should have a hole in it. I can apply the same technique to get patches of asymmetry wherever I want on an otherwise symmetrical model, without wasting a ton of UV space.

    Is that a trick? If so it's a useful, reliable trick. I wouldn't use it every time, but that doesn't mean I should never use it.

    I don't think the answer is "don't use tricks". I think the answer is "know which tricks are reliable and which aren't and use them accordingly". If you go in using unreliable tricks, you gotta be prepared to get burned.
  • monster
    Offline / Send Message
    monster Polycount Sponsor
    And back to the topic...

    In my case (no normal maps, and extremely low poly models) this is a fantastic solution.

    In the end the vertex count is what matters to me (I'm a technical artist after all). Using Face Weighted Normals and UV Seams from Smoothing Groups I can lower the vertex count and get nearly the same visual as using Smoothing groups.

    For the object below I can even raise the poly count while lowering the vertex count!
    This is a screenshot taken from Unity. The descriptions show the steps I took from top to bottom.

    Clipboard-2.png

    Unfortunately, I won't be releasing my script, but the one posted by Scruples works well enough. It doesn't do angle calculations, but it does get the poly area which achieves the same affect with quads.
  • Brendan
    Offline / Send Message
    Brendan polycounter lvl 6
    I know this isn't specifically about FWN, but for 'manual' adjustments, is it possible to completely destroy the normal influence of faces?

    For this example, the beveled faces have no influence on normals, instead taking their normals from surrounding faces. This results in some sweet arse highlights. The only way I could do this was by selecging everything though, otherwise the areas I didn't select would mess up (also SSAO is on, so the darker patches on the large faces are there for that reason)
    normals.png

    What I want is a button that does this:
    bevels.png
    In that I'd select the newly beveled face on the right (BEVEL and an arrow pointed to it), then press one button, then get some more of the damn nice bevels.

    I'm using Maya 2012, is there a way to do this already that I haven't noticed, or would I need to script something?
  • dirigible
    Offline / Send Message
    dirigible polycounter lvl 8
    You would need a script. Maya's normal editing tools are fairly lacking. The best you could do with built in tools is select the vertex normals and swivel them to point the direction you want, manually.
  • passerby
    Offline / Send Message
    passerby polycounter lvl 8
    here is my quickie solution to doing this in maya 2012.
    global proc pbFacetoVertNRM() {
    
    
        string $Fs[] = `filterExpand -sm 34`;
        select -cl;
        for ($F in $Fs) {
            select -r $F;
            string $normals[] = `polyInfo -faceNormals`;
            string $buffer[];
            tokenize $normals[0] $buffer;
            
            float $plane[3];
            $plane[0] = $buffer[2];
            $plane[1] = $buffer[3];
            $plane[2] = $buffer[4];  
            PolySelectConvert 3;
            polyNormalPerVertex -xyz $plane[0] $plane[1] $plane[2];
            }
    }
    
    pbFacetoVertNRM();
    

    it works on a selection of multiple faces, and sets the vertex normals for all the verts making up that face to be the same as the face.

    kinda like set to face in maya but it doesn't cause a smoothing split, it just works with the existing verts and normals with out creating new ones.

    i more or less just select a bunch of big faces and run this.
  • dirigible
    Offline / Send Message
    dirigible polycounter lvl 8
    Great stuff, passerby! That's actually a super useful script.

    I really need to learn mel, some day.
  • passerby
    Offline / Send Message
    passerby polycounter lvl 8
    thanks, ya mel and python which is what i do all my recent maya stuff in are very useful to know wasn't that hard to learn either, im actually trying to learn c++ for farther maya work, since python is a little to slow for writeing things like file translators.
  • m4dcow
    Offline / Send Message
    m4dcow interpolator
    Mig Normal Tools is a really good Maya script for dealing with vertex normal manipulation.
    http://migugi.net/mel/normalTools/
  • Scruples
    Offline / Send Message
    Scruples polycounter lvl 7
    Found out another use for FWN, decimated meshes from Zbrush.

    y2zz2.png

    Should make for more efficient bakes, (except for vertex color bakes because you can't decimate them...much). You could always use hard-edges, but you might see some faceting.
  • AlecMoody
    Offline / Send Message
    AlecMoody ngon master
    maya defaults to angle and area weighted normals in 2013. My experience with this so far is that it can introduce some really nasty errors on small faces adjacent to large faces and as a result can require a similar amount of supporting geometry. Also, not all engines and tools allow for correctly passing vertex normals so it needs to be confirmed to work with each asset pipeline.
  • WarrenM
    Offline / Send Message
    WarrenM Polycount Sponsor
    Farfarer has put together a script that does this for Modo users! I've been using it for a few days now and it works really nicely!

    http://forums.luxology.com/topic.aspx?mode=Unread&f=83&t=76447#NewPost
  • wichenroder
    m4dcow wrote: »
    Mig Normal Tools is a really good Maya script for dealing with vertex normal manipulation.
    http://migugi.net/mel/normalTools/

    Having used area weighted normals (Farfarer's script in MODO) for a few days now I'm finding that the results are comparable to mignormal Tools but with only 1 click instead of many many many while you select all your faces, and then re-select them after making a change.. and so on.
  • Farfarer
    Offline / Send Message
    Farfarer Polycount Sponsor
  • Xoliul
    Offline / Send Message
    Xoliul polycounter lvl 10
    Having used area weighted normals (Farfarer's script in MODO) for a few days now I'm finding that the results are comparable to mignormal Tools but with only 1 click instead of many many many while you select all your faces, and then re-select them after making a change.. and so on.

    Yeah I found the Migtools to not be very fast for what I wanted. So much clicking to achieve simple things that SyncViewS' Maxscript does in one click!
  • Eric Chadwick
    Scruples wrote: »
    Also...a bit off topic, Why isn't there any programs that offer a physics simulation for UV packing?, it just seems like the most logical next step...ten years ago. *grump face*

    Flatiron seems to do a good job with this.
    http://www.texturebaking.com/
    Not cheap, but probably pays for itself in a short time.
  • SolSkyre
    Offline / Send Message
    SolSkyre polycounter lvl 5
    I'm a bit late but here is a Weighted Normals Ice Compound for Softimage XSI -Yes I'm kinda beating the dead horse here- To use it you must add user normals before you apply the compound to the mesh which helps to export weighted normals out as FBX or anything.
  • scgstudio
    Offline / Send Message
    scgstudio triangle
    I also feel like grave digger BUT :


    I was able to achieve such results in 3ds Max 2012.
    Not a modifier, but using script. It turns out to be very difficult to make a proper pipeline inside of max to create a stable and predictable results in this matter. And making a one button solution is not possible when you have to deal with something more complex than box and few chamfers. Now, having this tool I think it is possible to get really nice results in a very comfortable way.
    https://polycount.com/discussion/206583/vertex-normal-toolkit-for-3ds-max/p1?new=1
  • gnoop
    Offline / Send Message
    gnoop polycounter lvl 9
    Blender has a native face weighting button  for pretty a while .  Shading Tab on the left side> Normals>Set from faces.  Works only with checked in auto-smooth checkbox on selected faces.  Edited normals are exported from Blender with fbx just fine also.

    Could be done in a single click also as a  normal transfer from hi res mesh.  With data transfer  modifier in Blender.
    Keeping in mind certain modeling approach   where edges of hi poly mesh  have support loops or enough tessellation for proper normals too since  the data transfer does it exactly as it is on hipoly mesh
2
Sign In or Register to comment.