GSoC 2018 - Bevel Improvements

That’s my main desire for the Bevel modifier, for it to be able to go beyond surrounding geometry in a practical way. Excited to hear you’re starting to look at this!

DotBow - the bevel modifier has no effect on Curves, sorry. You would have to convert it to mesh.
For a mesh that has no faces (just edges), use the ‘Vertex only’ flag of bevel. Ordinary bevel (without that flag set) is only intended to bevel edges that have exactly two adjacent faces.

cgslav: I have looked at Ilya’s code in the bevel-after-boolean, and indeed it has some good ideas, using some existing tools in Blender chained together. It would be nice to change bevel to be able to do this for arbitrary sets of selected edges, not just those that come from intersections during boolean operations. But that case is harder because in the general case there can be more than two edges beveled at a vertex. Eventually Ilya and I should collaborate, I agree, but as I said above there are other things in my TODO list with higher priority right now.

4 Likes

Could it be possible to have bevels modifiers with vertex groups visible even if there is no faces but only edges?

4 Likes

Thanx for answer! Maybe I’m missing something but I can’t get it work :neutral_face:

BevelPoints

Hmm, for some reason I didn’t enable vertex-only bevel for wire edges (those without faces) in the modifier. I think because I only added it the tool later and forgot about the modifier.
For now, you can use the tool (control-shift-B).
I’ll fix the modifier for 2.8.

7 Likes

Thanks for the suggestions, nokipaike. I will consider them, but right now bevel has higher priority for me and there are a bunch of TODOs there.

3 Likes

MACHIN3 has been working on a really nice bevel after boolean workflow…maybe you guys can combine forces to make this happen in the modifier.

6 Likes

Hi there @Howard_Trickey , I appreciate the hard work you are doing on Blender!

Concerning the Bevel topic I was wondering if there will be a QUAD Chamfer/bevel improvement for insets and extrusions. Currently they give an un-desired shading effect not suitable for Game Art normal maps.

Currently there is a workaround using MESHMachine script but its only a band-aid fix and destructive in nature (have to collapse the bevel modifier first).

Desired Bevel
blender_2018-06-26_18-50-59

1 Like

(sorry for double post but it wouldn’t allow me to post 2 images in 1 post)

Current Bevel
blender_2018-06-26_18-50-47

1 Like

I can’t predict when, but yes, there will be such an improvement in the built-in bevel with respect to toplogy oprions at vertices. This is now clearly the top requested feature, or maybe it is tied with having bevel “dp the right thing” when overlap occurs (but that’s rather harder to fix, in the general case). I am aware of the various addons that do some of this and will use them for inspiration, but would like to come up with solutions that work in the general case, and pay attention to the hard-to-get right things like what happens to the UV maps, edge data, etc.

16 Likes

If you take a look at this video, it shows a sphere with a chunk booleaned out. The mesh has hard edges where the boolean subtracted and has custom normals to fix shading issues as a result of triangles, ngons and uneven polygon density.

The problem is, the bevel modifier will mess up the custom normals. The only fix right now is to apply the bevel and fix the normals again manualy, on the mesh level.

And so I was wondering if it would be possible for the Bevel mod to use the existing custom normals, if there are any. This would be a live saver and add a lot of flexibility.

Grab the blend file from here. Thanks or your awesome work Howard!

8 Likes

I will look at this. But first I am working on the bug reported above by cgslav.

6 Likes

This, would be amazing for gamedev creation. 50% of my projects nowdays rely on weighted normals (then just normal decals) and being able to keep bevel modifier and still be able to tweak weighted normals would be amazing. Preferably with a value of 1-100 (like the 2.8 normal weight modifier). Or a simpler version like the y.a.v.n.e pluggin where its just a weak/medium/strong value.

There is no reason for that. You don’t want anything less than 100% of the previous, custom defined normals. It’s not about weighting face areas to influence the normal generation, just take the existing ones and set the normals at the bevel periphery accordingly.

1 Like

Hi Howard, thanks for your work, it already already looks amazing !

im not sure it has been mentioned but the bevel behaves a little odd with the mirror.
In 2.79 you could mirror and also bevel in a stack. with mirror first.

In 2.8 it has a stack order issue. If the mirror is first (which helps further booleans connect) there is an issue with the bevel showing up on weight.

I love all the suggestions here so far. If any of these get added the modelling would be light years ahead.

2 Likes

Thanks, mx2. It seems that the mirror modifier in 2.8 does not properly propagate edge bevel weights. There was a big change internally for modifiers, getting rid of the concept of “derived mesh”, and I suspect that that is the reason for this oversight. I hope I can find time to look into this.

2 Likes

Hello, I have always wondered, is it possible to add a “Smart Clamp” check box? So rather than allowing one overlapping vert from stopping the entire bevel, it would instead detect and clamp only that one individual vert, so that way the bevel width can continue while preserving a clean mesh. I’m sure it would be expensive on the CPU when more and more overlapping verts add up, but that would still be something I think generally everyone would find worth the wait.

10 Likes

This would be possible (it would require me to change the code somewhat to keep a per-edge clamp value, rather than the global one I calculate now). One issue I foresee, though, is that if you go all the way to a clamp value then you get zero-length edges, which is not a “clean mesh”. A subsequent “remove doubles” might fix things, but no guarantee. And anyway, clamping anywhere means that there will be beveled edges that are not the bevel width the user really wants, so this isn’t really the right solution. The right solution is to actually change the geometry as the beveled edges sweep over vertices. But this is pretty hard, so I haven’t done it yet.

2 Likes