Reply
Reply
 
Thread Tools Display Modes
I_R_Hopo's Avatar
Old (#1)
Hey guys. Quick question on smoothing groups.
I've read that you want to keep the group numbers to a minimum on your models when possible. I'm just a bit confused by the wording in this. I'm working in max, so I have a total of 32 smoothing groups. Now say I've made a cube. So six hard surfaces, right? Does the minimum smoothing groups mean I should put 2 faces in '1', 2 in '2', and 2 in '3'? Or for organization could I put a face in each smoothing group and have six separate smoothing groups in Max? I assume it's the latter, because smoothing groups just tell the engine where to split the verts, right?

Just wanted to make sure, because it's a pain trying to plan it out to pack every hard selection into the first 4 or 5 groups. If I don't have to go about it this way, that would be great!
Offline , line, 99 Posts, Join Date Dec 2009, Location Victoria, BC, Canada  
   Reply With Quote

dustinbrown's Avatar
Old (#2)
Use as many as you need, no more, no less.

Personally, I find that using automatic smoothing groups with an angle threshold of 45-degrees get's me 90% home. Then I look the model over for wonky shading, and areas that I feel are either over or under smoothed, and I fix those areas accordingly. I don't believe I've ever had to spend more than five minutes working on smoothing groups by doing it this way.

I'm sure there are people who set their smoothing groups up completely manually, and perhaps they have a good reason for doing so.
Portfolio | Blog | LinkedIn
Character Artist SCEA
Offline , dedicated polycounter, 1,598 Posts, Join Date May 2009, Location San Diego  
   Reply With Quote

I_R_Hopo's Avatar
Old (#3)
Shoot, I completely forgot to respond to this. Sorry

I know that you're only supposed to use as many as needed. I'll use some pictures to better illustrate what I'm wondering about.



In the top row I'm packing faces into as little numbered groups as possible. In the bottom I'm placing each into its own for better organization. Will doing what I've done in the second row of images actually put more information into the model file and make it less optimized, or are the group numbers just in Max for ease of organization?

For example, let's just say you had a model that had 30 faces, and you wanted each one to be hard-edged for some reason. Would you want to divide the faces up amongst as little numbered groups as possible (Let's say you fit it into 4 of the buttons), or would you be fine in putting each one into its own separate number (So 30 buttons would be 'clicked' for the model)? Are these buttons contained solely in Max, or are the numbered groups information that is passed along with the model once it is exported?
Offline , line, 99 Posts, Join Date Dec 2009, Location Victoria, BC, Canada  
   Reply With Quote

cryrid's Avatar
Old (#4)
The cube might not be a good example. When split like that (3, 4, 5, or 6 smoothing groups), I think the vertices are going to be split the same way. And if a single smoothing groups has 2+ separate UV islands/shells, I think that would also negate the point of using only 1 SG when the vertices are going to be split for each island anyway.
Offline , dedicated polycounter, 1,660 Posts, Join Date Oct 2009, Location Charlottetown  
   Reply With Quote

Ace-Angel's Avatar
Old (#5)
From what I recall, smoothing groups are a big no, no in the game engines since they are essentially breaking the vert count and doubling it (same story with Normals).

However, if you're keeping it in packages of choice, then any number of normals should be fine.
There's a very good chance that I experienced MORE problems, then all the internet put together in the area of 3D. Talk about being original for once...
Offline , veteran polycounter, 4,501 Posts, Join Date Apr 2011, Location Canada  
   Reply With Quote

Mark Dygert's Avatar
Old (#6)
Quote:
Originally Posted by Ace-Angel View Post
From what I recall, smoothing groups are a big no, no in the game engines since they are essentially breaking the vert count and doubling it (same story with Normals).

However, if you're keeping it in packages of choice, then any number of normals should be fine.
Place your UV seams along your smoothing breaks and you're getting the smoothing breaks at no additional cost.

Last edited by Mark Dygert; 04-10-2011 at 09:01 PM..
(AKA Vig) Portfolio | Lab | Brawl | Decker |
Offline , Polycount.com Editor, 13,921 Posts, Join Date Oct 2004, Location Seattle, Wa Send a message via MSN to Mark Dygert  
   Reply With Quote

Perfectblue's Avatar
Old (#7)
Marked for later.
Offline , triangle, 270 Posts, Join Date Jan 2011, Location TX  
   Reply With Quote

I_R_Hopo's Avatar
Old (#8)
I think you guys are totally missing what I'm asking. Maybe it is a really stupid and obvious question that only I have then, haha. I know about UV breaks at hard edges and all that stuff. I am asking a purely organizational question. I want to know if the smoothing group buttons in Max, the ones you assign the polys to, have any effect on anything outside of the program. We're given 32 of those buttons. Can we use all of them, or will it cost too many resources outside of Max?

The context of the question might help more with what I'm asking. I want to know this because when assigning smoothing groups, I don't like trying to pack half the model onto number one, and the rest onto number two. I'd rather take all the split areas (Let's say I have 20 separate UV islands), and put each into its own numbered group for easy selection later. 20 separate groups that I can select by going to "Select by smoothing group." The way I've been doing it is I try to pack everything onto the smallest amount of buttons possible. So if I select smoothing group 1 I might have 7 different UV islands selected.

I hope that makes sense now. I'm sorry if this is just a really silly question. I've just never seen this addressed anywhere and it really bugs me!
Offline , line, 99 Posts, Join Date Dec 2009, Location Victoria, BC, Canada  
   Reply With Quote

EarthQuake's Avatar
Old (#9)
"Smoothing groups" is a made up max-specific thing, the number of smoothing groups has little relevance. How many hard edges you end up with is the important part. However, if your hard edges are the same as your uv seams, there is no additional cost, as Mark stated above. Generally, as long as your mesh is well constructed, the "amount" of hard edges/smoothing groups/whatever has little significance.

[edit] no, the amount of smoothing groups you've used in the max UI has absolutely no relevance, and its only "too much" if you think it is, as you're the only one who will ever need to care about it.
Offline , Moderator, 8,636 Posts, Join Date Oct 2004, Location Iowa City, IA  
   Reply With Quote

EarthQuake's Avatar
Old (#10)
Quote:
Originally Posted by Perfectblue View Post
Marked for later.
Whats with these "marked" replies? Set up some bookmarks or something if you want to come back to a thread later.
Offline , Moderator, 8,636 Posts, Join Date Oct 2004, Location Iowa City, IA  
   Reply With Quote

I_R_Hopo's Avatar
Old (#11)
Thank you, EarthQuake! That's exactly what I wanted to know This will save me so much time! You're my hero for the day.
Offline , line, 99 Posts, Join Date Dec 2009, Location Victoria, BC, Canada  
   Reply With Quote

Synthesizer's Avatar
Old (#12)
I usually try to get most of it done with autosmooth, picking smoothing groups by hand feels like a waste of time... You could also check out this script: http://www.scriptspot.com/3ds-max/sc...hard-soft-edge It adds soft/hard edge functionality like Maya has, it's a lot easier to work with I find.
Portfolio: www.simonbarsky.com
Offline , line, 73 Posts, Join Date Mar 2008, Location Stockholm  
   Reply With Quote

PredatorGSR's Avatar
Old (#13)
In our engine, there is a hard coded limit to the number of smoothing groups. We are only able to use 4. This is for performance reasons. Or so we were told.
Konrad Beerbaum: Environment Artist
http://www.konradbeerbaum.com
Offline , polygon, 621 Posts, Join Date Jan 2010, Location Austin, TX  
   Reply With Quote

EarthQuake's Avatar
Old (#14)
Quote:
Originally Posted by PredatorGSR View Post
In our engine, there is a hard coded limit to the number of smoothing groups. We are only able to use 4. This is for performance reasons. Or so we were told.
I think you misunderstood what they said, or they're simply blowing smoke up your ass.

A smoothing group has absolutely no direct corelation to performance. Its hard edges/split vertexes that are important(and as noted above, if these hard edges are on uv borders, which they should be for normal bakes anyway, there is no extra cost).

For instance, you could use 4 smoothing groups, and have absolutely 0 hard edges(assign SG's to different mesh chunks), or use 4 SGs to add hundreds of hard edges on your mesh.

You also could have a shoddy exporter, that poops its pants after 4 SG's, but this again wouldn't be a "performance" issue. SG's aren't ever stored in a game mesh in any sort of way, just mesh normals.
Offline , Moderator, 8,636 Posts, Join Date Oct 2004, Location Iowa City, IA  
   Reply With Quote

perna's Avatar
Old (#15)
PredatorGSR:
yeah, there's actually no such thing as a "smoothing group" in the first place, it's just an Autodesk abstraction that's useful for content creation but has nothing to with ingame rendering.

Synthesizer:
I was writing something like that myself, until Christoph pointed out it's mathematically impossible to get an optimal result from it. You'll find that any such script will work poorly and ought to be avoided. Better to use a few scripts to speed up SG handling itself.
3pointstudios.com - Game Art Outsourcing
Offline , veteran polycounter, 4,101 Posts, Join Date Oct 2004, Location UK Send a message via ICQ to perna Send a message via MSN to perna Send a message via Yahoo to perna  
   Reply With Quote

Mark Dygert's Avatar
Old (#16)
All smoothing groups do is decide how the normals along edges will smooth, hard or soft.

If these polys are in this group and its neighbors are in another then the edge between them is hard/broken. If they share groups then its soft/unbroken.

You can have a bunch of broken edges with only two groups just by assigning every other poly to alternating groups. 1,2,1,2,1,2,1,2 ect... You don't need to go 1,2,3,4,5 ect however the performance is the same.

UNLESS there is something else that is pulling info from the smoothing groups. Source uses smoothing groups when creating collision meshes. Each convex piece of a collision mesh is assigned a unique smoothing group. It limits the number of unique pieces to 18 unless you set a flag.

It's set to 32 because some kind of array or bit array limits it to 32 groups. If you had 64 groups that would require two arrays and tracking between them which tracking inside one is already more difficult than it should be. It's an old programmer friendly method that really needs to be redesigned. The way Maya does it makes a lot more sense to a lot of artists and there is a script on script spot that enables max to work that way.

Select edge, decide if it should be hard or soft. So simple, so perfect would save a TON of space in the UI.
(AKA Vig) Portfolio | Lab | Brawl | Decker |
Offline , Polycount.com Editor, 13,921 Posts, Join Date Oct 2004, Location Seattle, Wa Send a message via MSN to Mark Dygert  
   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Copyright 1998-2012 A. Risch