GSoC 2018 - Bevel Improvements

It’s because you cannot add subsurf on ngons!

If you want something correct, you need correct mesh with no Ngons.

On Juri’s build, there is a modification on the triangulate modifier to triangulate only Ngons, with it, you can have proper subsurf even if the wire isn’t perfect.

3 Likes

Wazou - You can in fact add subsurf to n-gons, and you actually used one of the cases where it works. Look at my gif above. Look at option No. 1 below. That is the best case scenario that you can currently get out of the bevel modifier without needing to do any additional work.

Of the three options below, only option No. 1 can be created by the bevel modifier. I think the Outer Miter: Patch should be changed to reflect option No. 2, which is better than option No. 1. But currently bevel does not give this. And option No. 3 is better, but it requires manually adding additional geometry, which in this case was not simple, because none of those surfaces are planar. They are all curved, and adding that geometry such that it did not break the curve was tedious and time-consuming.

1 Like

I mean, you need to add lines, in your example, it’s ok on this mesh, not on other like a hole in a cube or else. That really depends on the mesh.

Option 1 is great to work with subdiv, you don’t want options 2 because the wire will not be correct.

Keeping Ngons on a mesh with subsurf is a bad workflow IMO.

This is correct and easy to clean.

1 Like

Those additional red lines you’ve added absolutely break curvature, and are not viable options. If you absolutely want all quads, the best version of that looks like this. It’s not quite the same as your edited example with yellow lines, but the topology is the same at least.

But again the point of this discussion is in trying to come up with a bevel modifier that produces useful results. And frankly having tested every possible combination of these things on this mesh, I still think option 2 looks better than option 1, and you don’t have to add additional geometry to either to get them to look alright, even with n-gons. Here is the blend if you want to play around with it yourself.

1 Like

I understand your point of view :wink:

Sadly it doesn’t work on every possibilities, that’s why I would prefer to have a triangulate on Ngons as I explain on my video.
But yes, having more possibilities is always great!

How do you enable that floating status info thingy? It seems great to have all that info right there, instead of looking for it in the UI.

Wazou - The good news for you is that the behavior you want already seems to be implemented. Set your bevel to Profile 1.0, Segments 2, Outer Miter: Arc, Inner Miter: Sharp. You just have to triangulate your base mesh as I show here in order to end up with the all quads result:

I would like to hear what people thing comparing the current result of the bevel modifier to the one that I manually corrected. Is the ‘Better?’ version actually better? The edges follow their original lines much more closely, at least.

3 Likes

Thanks for your reply.

The current state is already very usable, and to be fair I did not check if some of these issues could be addressed with other tools like creases. My feeling is that with a bit of mix and match of bevel, creases and shrink wrap most of these issues can be solved some way.

Interesting to hear that it’s more of an UI/UX problem, and even if I only thought briefly about it I would agree that it’s not very clear how to do it.

your to-do list sounds very reasonable to me, all those things are more important than to dive deeper into this specific thing…

1 Like

Your version is better IMO.

1 Like

https://developer.blender.org/D4367
Someone did that a few days ago. It’s waiting for review.

3 Likes

Can someone explain to me “mark seams” and “mark sharp” options? when i’m trying to use them nothing happens. For example. Default cube > Add bevel modifier > mark seams > apply bevel mod> enter edit mode and nothing is marked. Am i missing something?

1 Like

Neither of those is related to the bevel modifier. Mark seams is for UV’s. Mark sharp is for splitting normals, effectively making the mesh non-manifold. The bevel weight can be set from the (editor) sidebar in edit mode if you have geometry selected, specifically edges.

I suspect Way is asking about these options. I haven’t found them to do anything. Though oddly enough, the Harden Normals box does apply sharp to some of the bevel’s edges.

WAEF

1 Like

Those options were added by Rohan in GSoC. They have to do with how already existing seams and sharps are copied to the edges created in a mutisegment bevel. The names are bad. Please help by suggesting better ones.

4 Likes

Yes, i was talking about these new options. I tried “harden normals” too and found the same thing. For some reason it marks every smooth shaded face as sharp. If u don’t use smooth shading and just turn on “auto-smooth” it will only change normals as expected.

I honestly don’t know what these do. I’ve applied sharp and seams to the edges that I’m beveling, and I get the same result whether I have those boxes checked or not. It could be that they do something in a specific case I’m not using? I’m doing Profile 0.5, Segments 4.

This base mesh becomes this beveled mesh regardless of whether I have ‘Mark Sharp’ checked. All sharp edges are also weighted for bevel. I get the same result with seams regardless of the ‘Mark Seams’ box.

On the other hand, if I start with no edges marked sharp, and check ‘Harden Normals’, this is the result:
harden

Hi Howard, thanks for your work! But now i even more confused because as far as i know blender was/is doing it by default already (i mean without these options). So obviously i thought it would mark beveled edges as sharp/seams. Even if you hover mouse over “mark sharp” option it says “mark beveled edges as sharp”

Look at Alberto’s request early in this thread (May) on Correct generation of bevel data, He shows an example of where a sharp edge crosses a non-sharp edge and then all edges are beveled, and it makes the sharp edges not contiguous. The “mark sharp” option fixes that. Probably the code should just always do this and not have it as an option; what do you all think? Rohan was just trying to be backward compatible, I guess.

As to why harden normals sharpens some edges: I couldn’t really figure a way around it. The problem is that once you get custom split normals, all sorts of mesh operations cause recalculation of them, but the autosmooth angle doesn’t have effect any more, so to keep the same effect as what autosmooth + angle-limit does, I had to put in sharp edges where the autosmooth angle said that they’d be sharp. I frankly find it confusing and delicate to keep straight what happens once one enters the split-custom-normals realm. Maybe there’s a whole better paradigm for how it should work, but I don’t know what it would be, and anyway that would more be Bastien’s call to make such a change.

4 Likes

Hi Howard!
Some time ago I asked about beveling vertices on meshes without faces.
Any update on this?

5 Likes

DotBow - sorry, no update on that. Maybe I can get to it soon but no promises. Last time I said “that will be easy” it took me all weekend to do. But this does seem easy.

5 Likes