Home Technical Talk

Surface Normals in Max

polycounter lvl 17
Offline / Send Message
W1r3d polycounter lvl 17
Hi

I got a question the other day about max. "how do i make a hard edge in Max"
You got several choices really:

- Smoothing groups
- Detatch to element
- Split

What i found quite odd was that in Maya you would just have to select the edge and normals>Harden edge. Wouldn't that be great if it was like that in Max as well?
Aparently there is a action under the Edit Normals tag in the modifier list. Called Break.
What this seems to be doing is something similiar to Maya's Harden edge. You get the
nice hard edge between the the two vertices. But! what it also does is it makes the connecting edges hard aswell. Now i can work around this by using the Unify action. If i first select all the edges on the right side of the hard edge i want to keep and press Unify. I will get a smooth result. If i do this on the left side aswell i get the a smooth surface there to. Leaving me with a nice hard edge.

However this is really really not effective at all. Just imagine if you have to do a longer split across your model. This quickly generates a lot of extra work. So smoothing groups would be much easier and quicker to use. What would be awsome though would be if Break had the same function as Harden Edge in Maya and Unify had the same function as Soften Edge in Maya.

Now i'm not saying one program is better then the other. What i am looking for is for me to be able to use the same approach to hard/soft edges in Max as i do in Maya.

Replies

  • Eric Chadwick
  • Michael Knubben
    Options
    Offline / Send Message
    Smoothing groups can do a few things that hard edges can't, but generally I think they're a pain in the arse to use, when all you wanted was a hard edge.
    I'll look into that script, Eric!
  • thomasp
    Options
    Offline / Send Message
    thomasp hero character
    the maya-concept certainly makes more sense. anyway, if you want to transfer tweaked normals between those apps, you're in for some fun, best to break the mesh up. :)
  • Rob Galanakis
    Options
    Offline / Send Message
    MightyPea wrote: »
    Smoothing groups can do a few things that hard edges can't, but generally I think they're a pain in the arse to use, when all you wanted was a hard edge.
    I'll look into that script, Eric!

    What can they do that hard/soft cannot, pertaining to normals (not taking into account things such as selecting by SG, etc.)?
  • Mark Dygert
    Options
    Offline / Send Message
    There aren't any major differences that I've found. The only real difference is that in 3dsmax you can assign bits of geometry to multiple smoothing groups. In Maya everything is assigned to one group and you can break edges or not.

    Multiple smoothing groups explained:
    http://www.fgiservices.com/Smoothing/Smoothing_05.html

    But really the majority of people use smoothing groups as a way to make hard edges, not really control blending.

    Just out of curiosity does Maya have a "Auto break edge at angle" feature or is there a script out there that does it? Seems like one of the things they would have included and if not someone would have scripted it already?
  • W1r3d
    Options
    Offline / Send Message
    W1r3d polycounter lvl 17
    EricChadwick: Thank you! Will be trying out that script ASAP. =)

    Vig: "Auto break edge at angle" could that be something in the line of Maya's "Set Normal angle..."?
    Basically you just type in a degree angle and that determines what edges will be hard and which ones will be soft.
  • Eric Chadwick
    Options
    Offline / Send Message
    Vig wrote: »
    Multiple smoothing groups explained:
    http://www.fgiservices.com/Smoothing/Smoothing_05.html
    I don't get it, what's the difference here between this way and simply assigning the whole thing to SG 1? Is that whole method simply to control the subdivision, or is there some smoothing difference on the low-poly that I'm missing?
  • Mark Dygert
    Options
    Offline / Send Message
    By assigning multiple smoothing groups to the beveled edges it actually does create a more accurately smoothed edge because the bevel is only smoothing over what its assigned to, instead of the entire object.

    It's a very small difference and probably not even worth the time it takes to set it all up. I guess for the 1% of people that actually need it, its nice to have... /shrug

    W1r3d, ahh thanks that's exactly what I was looking for!
  • Eric Chadwick
    Options
    Offline / Send Message
    Huh, had to try this out. I put an Edit Normals on them to see if there were any differences. Can you tell which is which? :)

    smoothing_test.jpg
  • Michael Knubben
    Options
    Offline / Send Message
    I actually can't, but what Vig explained is what I was hinting at. Never had a use for it, but I remember Pior explaining it to me once, I think. I since forgot what the point was, but I'm led to believe there is one.
    edit: actually, that might not be what I mean. Isn't there a way to vary the strength of a 'bevel' by having something in multiple smoothing groups or not?
    I really don't know anymore, I just use them to break edges, if I use them at all (and I hardly ever do).
  • Noren
    Options
    Offline / Send Message
    Noren polycounter lvl 19
    I'm with Eric. That "tutorial" makes hardly any sense at all.
    It shows how to assign multiple smoothing groups and how chamfering edges will result in sharper edges when subdivided and that's fine. But the example and conlusions drawn are clearly misleading. He asks if the outcome is worth it and shows a subdivided Mesh? Which overrules his SGs anyway? (You can set it to respect your SGs but that seems not the case here. )
    Like Eric pointed out he would have gotten the very same outcome if he had simply assigned one shared SG for all faces. That's perfectly true for the lowpoly version. But in case of the subdivided mesh not even that would have been neccessary and the SGs could have been set to whatever variation possible.
  • Mark Dygert
    Options
    Offline / Send Message
    Like I said the difference is that when it calculates the smoothing, it only calculates smoothing for the groups that face belongs to, not across the entire surface. Its entirely possible to control the smoothing in other ways to achieve pretty much the same result. But its not entirely "the same" even if they look similar.

    I'm not sure the difference could even be shown but that doesn't mean it doesn't exists. As for which is easier to set up, well that's a no brainer, I'm not sure why someone would go to the hassle of manually setting up smoothing groups to perfectly blend that way, especially in our industry with most exporters interpreting any smoothing group difference as broken/open edges.
  • Eric Chadwick
    Options
    Offline / Send Message
    Nope, it's exactly the same. Left model is 1 SG, right model is the crazy (to me) multiple-SG way. When I align the models and show both their normals, the normals are in exactly the same positions, because the end result of the smoothing is exactly the same.

    A vertex only averages the angle of its normal with the angles of its immediate neighbors. The way I understand it, vertices that aren't connected by an edge do not influence each other's normals. And the test proves it, since the normals do in fact end up identical.
  • Eric Chadwick
    Options
    Offline / Send Message
    Here they are aligned and overlaid. I had to composite two screengrabs in Photoshop because you can't show two sub-objects at the same time. Green is the multi-SG model, blue the single SG.
    smoothing_normals.gif
  • Mark Dygert
    Options
    Offline / Send Message
    That actually makes sense if verts only average their neighbors and not the entire group. The crazy method makes sure that is the case and if 3dsmax does that already then its just one big redundant step.

    If that's the case then the only other thing besides creating hard/soft edges & selection storage is like you said passing info onto turbosmooth.
  • Eric Chadwick
    Options
    Offline / Send Message
    Yup, it's only to break the normals along an edge. I'm not trying to beat anyone over the head with it, just curious if my assumptions are totally off.

    Best way to see what SGs are doing is to add an Edit Normals modifier, since that's all the SGs are really doing, breaking or sharing normals, as far as I can see.
  • Rob Galanakis
    Options
    Offline / Send Message
    Vig: Smoothing normals don't carry along groups of faces AFAIK, only along neighboring faces/verts. If you remove a smoothing group from a face on a sphere, for example, only the neighboring faces are affected. Normals are either 'smooth' or 'broken', there is nothing in between that is automatic (though normals can of course be adjusted to an arbitrary angle by hand or via scripts).

    As far as normals go smoothing groups and hard/soft edges are the same thing, except the latter is infinitely easier to think about and use.
Sign In or Register to comment.