where are the smoothing groups?

I’ve been bashing my head against the wall all morning today. How do I smooth the faces in groups? Subsurf/crease is not an option, this is a low-poly model. Seperating via Pkey isn’t an option either - it doubles vertex counts along the creases, and would cause problems in my game. Where are the goddamn smoothing groups? Sorry about that. I’m just frustrated.

Smoothing doesn’t work for the game engine. You will be stuck with the low polygon look, unless you want to increase your vertex count. The best you can do is use “Set Smooth” in the edit buttons window.

For non game models, smoothing is controled by combinations of vertex count and subsurf, as of yet, you can’t smooth just certain groups, although you can subsurf the entire object and set creases where needed.

Oh I’m not using the built in game engine. I’m writing my own in C#/D3D. It does collision detection on the actual geometry and realtime soft-body deformation. The object would collide with itself, and it would be a major pain to implement a way to filter out the good collisions from the bad ones. It would also derease performance drastically.

Wait. You’re telling me that Blender has advanced bells and whistles like radosity and fluid simulation, yet doesn’t support this rudimentary feature found in virtually every other modelling package? That’s insane. There must be a way to do smoothing groups.

Well kind of. You can always separate your model into pieces or sections and smooth just those areas that you want. But this is not an ideal scenario. Especially if you are importing into another game engine.

You might also try searching the python forum. It’s possible someone has written a script that will fix this for you.

Maybe I missed the point, but can’t you just select the faces you want to smooth and hit set smooth?
I’m not sure i’ve understood what you want, though.

be well

If “smoothing groups” means you want to smooth certain adjascent faces, simply select the faces, press Wkey and select the “smooth” option. The selected faces will become smoother. Repeat as needed. There isn’t any “group” involved, just an on-the-fly selection. If smoothing groups means something else, you’ll have to explain what they do, because it’s not familiar terminology to Blender. Blender is quite sophisticated, as you’ve pointed out, so there are probably four or five different ways to accomplish what you want to do, none of them with special names.

You can make vertex groups in Blender. Can be used for many things -set smooth or smoothing included. Editing buttons (F9), Links and Materials panel. Be in edit mode to see the controls btw.

Raywillow got it almost right, except that what he proposed makes one group of faces. And I need more than one. Here’s some pics that show that. Sorry for the bad quality, but these were the best I could find on short notice.

Without smoothing, so you can see the faces:
http://img236.imageshack.us/my.php?image=nonsmooth9wc.jpg

What would happen if I just hit “Set Smooth”:
http://img236.imageshack.us/my.php?image=smooth1fu.jpg

What I want:
http://img236.imageshack.us/my.php?image=diffsmooth3ch.jpg

As you can see in the third image the whole model is smoothed, but the smoothing is seperate for member faces of both groups.

Without this blender would be practically useless for low-poly models, so it just has to be there. Only I can’t find it.

/me bangs head against the wall some more.

Blender doesn’t have smoothing groups – so you won’t find them.

GreyBeard

Greybeard’s right: Blender doesn’t have anything called Smoothing Groups. Now, if you stop looking for them and start listening to the advice you are getting from reywillow, me, LarryPhillips and dreamsgate, here’s what Blender CAN do


subdivided red cube with corner colored blue



Set smooth applied, smooth applied to corner, smooth applied to rest of cube

with subsurf modifier



Subsurfed with Set smooth applied, smooth applied to corner, smooth applied to rest of cube

Subsurf I believe increases the polycount, so for low poly models you’d be looking at the top three. Is any of this of interest?

1 Like

In recent cvs versions on http://www.graphicall.org/ , there is an edgesplit modifier, which allows you to define, if an edge is sharp or not.

http://mediawiki.blender.org/index.php/BlenderDev/EdgeSplitModifier

What he wants is two smoothed areas that touch each other – there should be a crease between the two areas – blender can’t do this without splitting the mesh (which duplicates verts). Since he is writing the game engine I don’t know which data format he will use. I would just write an export script which converts either materials or vertex groups on export to smoothing groups – If he is capable of writing the game engine it’s pretty trivial to to calculate the smoothing group normals on export into his prefered format.

The edgesplit modifier in cvs is indeed what he wants
http://mediawiki.blender.org/index.php/BlenderDev/EdgeSplitModifier
GreyBeard

Orinoco please don’t get angry, I’m new to blender and I’ve been working with other software for a few years. Some features you just take for granted. The pictures you presented look extremely compressed, and I can’t really make out what you did, especialy since you colored the corner differently. If I see correctly you split the mesh, which I can’t do for reasons explained in post #3. However if this is not split or seperated and you colored the corner differently, how did you do it? I might be able to leverage the color information and just mark my groups with different colors, which the engine will use to determine smoothing groups. As far as I’m concerned I just need a way to tag faces and export that information in a simple manner. Smoothing groups was the natural thing to use, but any way of tagging will do.

I haven’t tested the cvs version yet, but I’ll definitely look into edgesplit.
ATM though it looks like I’ll either be making my engine calculate autosmooth on object load or, if I need more control, swithching to Gmax.

edit: Now I see what GreyBeard sugested. Of course. How stupid of me. I wanted to use .X, but I might just as well go with a custom format. I’ve been hard-coding my geometry while I was getting the physics stuff out of the way.

They are all single meshes. I took a cube, subdivided twice, each side became a 4 by 4 grid. I made the corner a different color by setting up two material indexes, made one material blue, assigned the corner vertices, made the other material red, assigned the rest of the cube. While I was at it, I also made the corner vertices a vertex group called “corner” and made the other vertices (easy way is to use Invert Selection in the Select menu) into a vertex group called “cube.”

There is a limit of 16 material indices per object. There isn’t any limit to vertex groups. Both mark selected vertices and add them to a group identifyable in the database (but don’t ask me how to access it, I haven’t a clue.) Material indices are simply numbered 1 through 16, vertex groups are created and named by the user or automatically generated by certain blender operations dealing with armatures and rigging.

Both the vertex group and the material indices are found on the Links and Materials panel of the editing buttons (F9).

I’m not angry. Annoyed, yeah, a bit. Marking groups for various uses is indeed a rudimentary operation, and Blender does it, as usual, two different ways. This business about putting a crease between different numbered groups sounds more like a bell or whistle to me, though.

Well, my problem is solved. I may make a tutorial on this when I get some more coding done.

About the bells and whistles - umm… no it isn’t. While working within draconian constraints like you do when modelling for games this allows you to add a lot more definition to your mesh. Without this, your meshes either look blocky because of lack of smoothing, or they have smoothing artifacts whenever there is a sharp angle. Max, Maya, Lightwave, modo, Zmodeller, Wings3d and other packages have this built in. AFAIK even in the old 3D Studio for DOS there was a feature like that. I’ve read somewhere on blender.org it’s planned (in the form of soft/hard edges i think) so it’s now just a matter of time :slight_smile: Thanks for your help.