Problem with mesh export and sharp edges.


(Gwenouille) #1

Hi everyone.

Here is a little problem i am facing.

Consider this two images:



and

These objects have been made with blender (what else ?) and are meant to be exported and sold @ places like turbosquid and such.
Of course selling as .blend isn’t very bright. Better use .fbx, .obj etc…

Now i encounter a big problem concerning sharp edges.

At the moment, I use the edgeplit modifier to give my mesh these sharp edge.
Imagine the aluminium frame around: i have to set the mesh to smooth, otherwise you’d see faces. But at the same time, i want to keep sharp edges. Hence the use of the modifier.

But modifier can’t be exported can they ? So either i set all the mesh to “flat” and we see the horrible faces, or i apply the modifier and… after export you’ll find split edges (double vertices and edges…)

What would you do ?

Would you omit the modifier, set the mesh to either smooth or flat and tell the buyers they have to play with the smoothness/sharpness themselves ?


(Etana) #2

In fbx export you can apply modifiers and set smoothing to face, that way your exported model smoothing will be exactly same as with edge split modifier.

Also in obj export you have apply modifiers.


(Gwenouille) #3

I think you didn’t get it fully right Etana.

The problem is that if i apply my modifier, the mesh itself is altered: some vertices are doubled, and that is not acceptable.

I think i am stuck and i have to do without modifiers altogether… Leaving the mesh all flat (not smooth) and letting the buyer smooth it himself.


(Sanctuary) #4

What’s sad is that Blender .obj support is able to import Smoothing groups by marking their edges as Sharp, so you can then add an Edge Split and see the result as it should be, but while Blender does not have any smoothing group feature, it sadly does not even export edges marked as sharp as a workaround.

While Wings3D actually does, in Wings3D you can mark some edges as sharp and export your model in .obj, and with the Blender obj importer you enable the smoothing group import, and you’ll notice that those edges you marked as sharp in Wings3D are correctly imported.

So you could try to import your blender model into Wings3D, select the edges you want to be marked as sharp and export it again in .obj
I don’t have a 3ds or maya or modo to test if it works the same with them if they import the obj made with Wings3D, but get someone to test that and hopefully your customers would then have a really working .obj model instead of the bad one (either no sharp/smooth or doubled vertices that will get you to lose lot of customers).

Hopefully one day Blender will get some more feature support to their export format, as it’s probably why most people wanting to sell models use other programs to do that, because blender export format are not very good.

Because indeed it’s unacceptable to have doubled vertices from a customer point of view or a “do it yourself” too, as blender obj format should really be able to export the edge marked as sharp being interpreted as “smoothing group” by other applications like Wings3D does, i just hope it’s on the todo list of someone in the blender fundation.


(Gwenouille) #5

Ohhh, thanks Robsoie. I think you are just spot on, with smoothing groups. I’ve watched a few videos and learnt about smoothing groups in that software called 3ds max: thaey are just what i need in fact. With hindsight, i find it just incredible that we can’t decide with precision in Blender which face collection has to be smooth and which one has to be “flat” ! Of course edge split gives you some kind of flexibility in that respect, but i think its approach is wrong, as it is in fact changing the geometry by splitting edges (ohh really ???).

If you look at that:

That is spot on what we need to be able to do in Blender. Either with smoothing groups like 3ds, or just using the “mark sharp” attribute and Blender works out that it shouldn’t try to extrapolate the normals between faces sharing an edge that has ben marked as “sharp”.

I do hope that some coder (i can only do some HTML and Javascript :-/ ) sees that post and thinks “Man they’re right !”