Our max exporter at Whatif would do some funky shading when an object had no smoothing groups... not faceted, it was like a single SG but really f'd up. Apparently Max was sending out weird mesh data if there were no SGs at all. Coders said it was all max's fault.
I found a pic.
No SGs on the left, separate SGs per face in the middle, single SGs on the right. This is world-space normals mode. Funky.
As Eric(i think? maybe it was CrazyButcher) has been quick to point out in the past, while chamfering may give you roughly the same amount of polys, that doesnt mean that is free. More polys are still more polys no matter which way you look at it, and if you have a very complex mesh, chamfering every edge can easily double your polycount. I think for a rigged mesh, more verts is really the important thing, but not as much for a static mesh? Not sure if that is the case or not....
a smoothing group seam means you have twice the vertices there, as a vertex can always only have one attribute set (normal,uv...). Hence chamfering wouldnt affect vertex count by much, could even be less. So vertex-cost wise there is no real loss. Polygon count indeed goes up a bit, and rasterizers typically dont like "tiny" tris, which barely take up pixels at the end (basically the overhead of the poly outweighs the contribution to the final image). However whether it really has significant influence on the performance (which I doubt hehe) depends greatly on the final scene / hardware...
any reason (other than compression) you want to use tangentnormalmaps for all those small mechanical objects?
btw not sure which links are broken this here still works http://luxinia.de/index.php/ArtTools/3dsmax
(although as people suggest newer max versions & relax will work similar, back when I made the plugin it was for max5 not having any good auto-unwrappers)
Now you mention it CrazyButcher, the smaller bits don't really need to be normal mapped, just the larger more obvious elements
As ever in games there is always a bit of a compromise and leaving off a few of the tinier normal mapped elements will not really affect the visual quality of my piece.
Can I use object space for my normals maps on my jetpack?. Obviously it does move, but doesn't deform
For the record a lot of the companies I have worked for favour the non chamfered approach,
but breaking the uv seams to avoid problems on the hard edges.
These were for fairly simple objects though, not for multi mechancial pieces
As Rob Galanakis reminded me, a smoothing group seam costs the same # of vertices as a bevel, but only when it's within a uv island.
If the smoothing seam is along a UV seam, one vert becomes just two verts, because each can store its own side of the UV seam. But if one side of a bevel is along a UV seam, then one vertex turns into three vertices... two for the bevel (obviously), and one of them gets split again into two vertices so each can hold their own side of the UV seam.
Kind of pedantic though, primary concern is to get rid of shading problems. Extra vertex cost is not that big of a deal these days, it's usually the fill rate (shader complexity) that kills the most performance, not transform cost (vertex count). I guess the point is, don't go crazy with bevels everywhere, it eventually adds up.
okay I missed not being nmapped at all. Then yes chamfer only if its "big" otherwise use the smgroup breaks. and as Eric said best is combine smgroup seam with uv seam, then there is no extra cost.
however keep in mind that for optimal performance dont create many "sub meshes" (ie meshes which become separate due to material changes). Ie if you can combine your small pieces with the "big chunk" in one texture & all that, then its better to just use objectspace normalmaps for the whole machinery. Ie one set of texture for all + same material for all.
you can use objspace normalmaps just fine, that "cannot move or deform" opinion is sadly a widespread misconception coming from the very very early days of normalmaps.
lol, this thread is 4 years old now. I haven't even got that model anymore.
check out the normal map thread bilelcg, it can help you way more than I can
Is it me or is it extremely difficult keeping track of which parts of a model are assigned to what smoothing group, which makes unwrapping where the hard edges are that more difficult. Any advice to make the unwrapping process easier with this rule?
unwrap logically, and then skin the cat differently (aho, skin.) ... use one of the many scripts that set separate smoothing groups for each of your uv shells (texTools has one, turbotools as well)
Never mind. I just found the "Select By SG" option haha. For anyone that doesn't know it's in the Unwrap UVW. Under Selection there's Select By and you can select by Smoothing Groups there.
Replies
I was kind of confused because i thought perhaps in max having no smooting groups was
some special case like faceted mode or something
It didn't occur that it would increase the amount of vertices by so much.
Normally I just add an autosmooth thats below 90. 90 or over puts all the polys in to 1 smooth group
I found a pic.
No SGs on the left, separate SGs per face in the middle, single SGs on the right. This is world-space normals mode. Funky.
in theory a faceted mesh would have a different smooth group for every face
johnny I can do that for some parts of my mesh but would find it a pain to chamfer every edge that needs it, though I might just end up doing that:)
whichever way you look at it , compared to setting up a head for example, its so much more painful.
reading the article above, it might be just as easy not to normal map apart from things like
screws or other fine detail
a low poly model with bevels but no normal map looks quite good anyway
any reason (other than compression) you want to use tangentnormalmaps for all those small mechanical objects?
btw not sure which links are broken this here still works
http://luxinia.de/index.php/ArtTools/3dsmax
(although as people suggest newer max versions & relax will work similar, back when I made the plugin it was for max5 not having any good auto-unwrappers)
As ever in games there is always a bit of a compromise and leaving off a few of the tinier normal mapped elements will not really affect the visual quality of my piece.
Can I use object space for my normals maps on my jetpack?. Obviously it does move, but doesn't deform
For the record a lot of the companies I have worked for favour the non chamfered approach,
but breaking the uv seams to avoid problems on the hard edges.
These were for fairly simple objects though, not for multi mechancial pieces
If the smoothing seam is along a UV seam, one vert becomes just two verts, because each can store its own side of the UV seam. But if one side of a bevel is along a UV seam, then one vertex turns into three vertices... two for the bevel (obviously), and one of them gets split again into two vertices so each can hold their own side of the UV seam.
Kind of pedantic though, primary concern is to get rid of shading problems. Extra vertex cost is not that big of a deal these days, it's usually the fill rate (shader complexity) that kills the most performance, not transform cost (vertex count). I guess the point is, don't go crazy with bevels everywhere, it eventually adds up.
however keep in mind that for optimal performance dont create many "sub meshes" (ie meshes which become separate due to material changes). Ie if you can combine your small pieces with the "big chunk" in one texture & all that, then its better to just use objectspace normalmaps for the whole machinery. Ie one set of texture for all + same material for all.
you can use objspace normalmaps just fine, that "cannot move or deform" opinion is sadly a widespread misconception coming from the very very early days of normalmaps.
Woow im trying to get a clean normalmap with minimum of geometry as this one but i cant
how can you do that ruz !!!
check out the normal map thread bilelcg, it can help you way more than I can