Shape of vertex-only bevels is distorted: edges should be curved but are straight
Closed, ArchivedPublic


System Information
W10 ATI Radeon Mobility HD 5000 Series

Blender Version
Broken: 2.77a abf6f08

Short description of error
When creating a vertex-only bevel via mesh edit or a modifier, the outer edges of the bevel are created as straight lines rather than smooth curves, creating a distorted shape.

Exact steps for others to reproduce the error
Load default scene (File -> New -> [Enter])
RMB -> Cube
3D View -> Properties -> Modifiers Tab -> Add Modifier -> Bevel:
Width: 0.25
Segments: 8
Profile: 0.5
Material: -1
Ticked: Only Vertices
Ticked: Clamp Overlap
Ticked: Loop Slide

This produces a bevel that looks like the first attached image:

The outer edges of the bevel are straight and end in an angle. This is not of any use.

The second attached image gives some idea of what the bevel should look like. The outer edges were created by edge splitting the cube then bevelling the resulting planes, which gives the correct outer shape, but leaves a hole. The mesh in-fill was hand crafted and then spherified.

If the code that is used to bevel the vertices of a 2d plane was used to generate the starting point (the outer edge) of the 3d vertex bevel, I think the results would look much better.

Both blender files are attached:



Related Objects

Probably something like this would suffice? The only difference from current bevel is curved borders.

I call this a feature request, not a bug, since the current behavior is working as designed (though not, as this bug shows, as some users would like). Others have asked for this. While it may seem clear what to do in a case as shown (convex corner of a polyhedron), other cases are not so clear. For instance, what to do if the vertex is in a plane? I can see some users preferring the inward curving edges as you request here; some might prefer outward curving ones (to make a kind of circular shape), while still others may prefer the current flat straight line behavior.

I'm going to close this and add the request to the general feature request/improve bevel design task, T48583. Currently I've got another feature request that I'm working on (slowly), but hope to get to this some time after that.

Perhaps you could either go with the existing profile parameter or have two profile parameters, one for the edges, the other for the midpoint and then interpolate between.

@Howard Trickey (howardt) Thanks for working on this; I appreciate it. I did try it as a feature request - but got bounced rather rudely around blenderartists by one of the moderators who didn't get where I was coming from.

@Alex (SpectreFirst) - No the whole surface is distorted, not just the edges. I got my 'improved' version using a sphere to give the shape.

@Howard Trickey (howardt) - I just checked planar vertex bevels (as you mentioned); they already obey the profile parameter, so you get:
0=concave circular bevel
0.25 = straight diagonal edge
0.5 = convex circular bevel
1 = corner
Which is a good range.

Likewise, 3d edge bevels are pretty flexible, although some engineers might request varying radius or profile.

The only big deficit is the 3D vertex bevels. It would make a lot more sense if the edge curves at least followed the profile parameter, so
0 = concave surface with concave edges profile
0.25 - flat with straight edges
0.5 = convex approx spherical with convex circular edge profile
1 = sharp corner

This means the edges would behave exactly as in the 2D case.