request: multiple smoothgroups or hard/soft edges

The interface, modeling, 3d editing tools, import/export, feature requests, etc

Moderators: jesterKing, stiv

Rahu
Posts: 0
Joined: Sun Sep 26, 2004 5:16 pm

request: multiple smoothgroups or hard/soft edges

Post by Rahu » Thu Dec 02, 2004 11:28 pm

I use BLender for low-poly modeling and think the only main feature it is missing to do this is multiple smoothgroups or hard/soft edges. The only way to do this now is to change everything you want to be in a smoothgroup to a different object, which creates problems by having that many object when imported to a game. A smoothgroup select like in Max with 64 different groups wold be useful. Another way of doing this would be to select which edges are hard of soft as seen in the picture.

http://img12.exs.cx/img12/8439/ac-Smooth.jpg

The select edge in the first picture wold be set to hard and all the others would be set to soft, or the top and bottom halfs would be in seperate smoothing groups.

z3r0_d
Posts: 289
Joined: Wed Oct 16, 2002 2:38 am
Contact:

Post by z3r0_d » Fri Dec 03, 2004 6:55 am

this has been asked many times

I personally hate the idea of smoothing groups, and would rather like an edge specific hard/soft flag [as in wings3d]

my favorite thread on this topic [easy to find others] is:
http://www.blender.org/modules.php?op=m ... pic&t=4141

it seems like it would be much more possible now than in 2.33, but as far as I know it hasn't been implemented [more than subsurf creases]

fobsta
Posts: 0
Joined: Sat Jun 12, 2004 11:21 pm

Post by fobsta » Fri Dec 03, 2004 5:17 pm

Please no smoothing groups.

If we are going to copy ideas from other programs - lets copy good ideas.

Max's smoothing groups involve horrible workflow.

Multigen and Maya handle this so much better. As I guess most other 3d programs do.

Rahu
Posts: 0
Joined: Sun Sep 26, 2004 5:16 pm

Post by Rahu » Wed Dec 08, 2004 11:10 pm

The point of this thread was having the one that most people wanted :D
Anything would really be better than the current system :P

joeri
Posts: 96
Joined: Fri Jan 10, 2003 6:41 pm
Contact:

Post by joeri » Thu Dec 09, 2004 10:05 am

I'd go for smooth/hard edges.
That's where the smoothing has to take place, from one face to the other, over an edge.
How does it work: select an edge or multiple edges, press "smooth" to make smooth or "hard" button to make the edge hard.
An "Autosmooth" button can take a variable and make all edges between connected faces smooth or hard if the angle between the face nornals is bigger or smaller then the given value.

Cyberdigitus
Posts: 46
Joined: Tue Oct 29, 2002 3:27 pm
Location: Belgium

Post by Cyberdigitus » Thu Dec 09, 2004 2:03 pm

isn't this rather a vertex property?

joeri
Posts: 96
Joined: Fri Jan 10, 2003 6:41 pm
Contact:

Post by joeri » Thu Dec 09, 2004 2:55 pm

I think it's the edge you want to be smooth. How can a vertex be smooth?
Image

Eternl_Knight
Posts: 0
Joined: Mon Dec 06, 2004 2:22 am

Post by Eternl_Knight » Fri Dec 10, 2004 12:46 am

Agreed with joeri here - it is an "edge property". Now I'll have to look in the code to see if there is actually a place to store this information (after all, if they're only storing vertex & face info - it's not going to be possible).

theeth
Posts: 500
Joined: Wed Oct 16, 2002 5:47 am
Location: Montreal
Contact:

Post by theeth » Fri Dec 10, 2004 1:18 am

Edge data is stored only when needed (currently, only for UV Seams and Subsurf weight IIRC). So it would be very possible to store a hard/smooth flag too.

Martin
Life is what happens to you when you're busy making other plans.
- John Lennon

Eternl_Knight
Posts: 0
Joined: Mon Dec 06, 2004 2:22 am

Post by Eternl_Knight » Fri Dec 10, 2004 1:44 am

Thanks Martin (theeth), that's saved me a little effort. Now is the request only for rendering or also in regards to the local viewport? I don't see this being a biggy to implement, and it would be good to cut my teeth on something simple that OTHERS want...

joeri
Posts: 96
Joined: Fri Jan 10, 2003 6:41 pm
Contact:

Post by joeri » Fri Dec 10, 2004 10:04 am

As I understand it there are different area's where people want this:

-In the model, so they can export the model to other game engines.
game engines mostly work with 1 single object for 1 character and thus it's very usefull to have hard and soft edges in 1 object.

-In sub surf you can't have multiple objects for separating hard and soft edges because it will make holes. The hard/soft info needs to be past on to the subdiv edges.

I'd say you need it in the viewport to see what the user is doing.

oin
Posts: 0
Joined: Fri Apr 02, 2004 6:34 pm

Post by oin » Fri Dec 10, 2004 11:33 am

Absolutely agree with Joeri.


Wings3d has hard edges and autosmooth (automatically puts the hard edges depending on the threshold angle you set, angle between every two faces, I think. In real cases, is really useful. )

In OBJ, it is exported as "smooth groups" .While I agree max smooth groups has a bad workflow, being hard edges in Wings3d much more clever, the fact is the name the engine coders (the many game engines out there) know is "smooth groups".Obj files (I can't remember if ideasman finally exported smooth groups, now that I think of it, how it could if there's not yet the feature in blender...) do support this feature. Is an ideal format (for other reasons too) fo rthis: it uses to just add a tag , "s" in the ascii file, and all contained in that part is an "smooth group" .but for us woul dbe the same: the hard edges thing would make, I suppose, "groups" internally of faces, limited by hard edges. If i am not wrong.

Obj is very standard too.Good also. Poser exports and understands also smooth groups.

In games, this stuff is really important.

But it can come handy also if you do animations and make not-so hi models...

I specially agree on the Joeri's point of making it visible in the viewport.

No matter the package, it's all the time a tweak-fight with poly count and smoothing: with this weapons(and good texturing) is with what you can achieve quite a good looking game model.

I have used successfully Maya hard edges, Max smooth groups, and Wings hard edges (the workflow I prefer, again, is wings's) .And how ever, it gives a very important step in game art workflow. Specially good modelling static, metal objects, helmets, etc. Is great to set very smooth organic parts while having creasing edges in needed parts. You get this with just autosmooth, if u just set the angles cleverly, but that makes you force the geometry too much. is better the freedom of adding a needed hard edge. And helps you also keep the count really low.

Rahu
Posts: 0
Joined: Sun Sep 26, 2004 5:16 pm

Post by Rahu » Sun Dec 12, 2004 12:30 am

Yes, the whole idea of this request was for exporting to games and such to make low poly models look better. Preferably to work in the viewport and renders.

ideasman
Posts: 0
Joined: Tue Feb 25, 2003 2:37 pm

Post by ideasman » Mon Dec 13, 2004 3:09 am

Soft hard edges is good for a few resions.

It gives the user manual controle and it takes less computing then autosmooth does.
Its also wysiwyg-
I export to a realtime engine right now, and I use my own basic autosmoothing math, this is in python therefor its fairly slow, There isnt any good way to get this data directly from blender right now. face.no will always give you a flat shaded face and the vertex no will always give you an interpolated vertex normal.
Its possible to use the faces smooth flag to decieded which to use but I think It would be better to keep face smooth flag and just use edge hardness as a smoothing delimiter.

So you would have all faces smoothed by default, then youd harden eny edges you didnt want to smooth.

theeth
Posts: 500
Joined: Wed Oct 16, 2002 5:47 am
Location: Montreal
Contact:

Post by theeth » Mon Dec 13, 2004 3:54 am

ideasman wrote:There isnt any good way to get this data directly from blender right now. face.no will always give you a flat shaded face and the vertex no will always give you an interpolated vertex normal.
How are you calculating it?

Couldn't you just compute the smoothed edge normal from both smoothed vertice normals and then compare to the face normal and apply the angle threshold to check if it's smooth or not?

I don't see why that would be slow.

Martin
Life is what happens to you when you're busy making other plans.
- John Lennon

Post Reply