Page 2 of 2 FirstFirst 12
Results 21 to 36 of 36
  1. #21
    Originally Posted by Rekov View Post
    After sorting mesh elements by distance from cursor, I still get something of an inconsistency, though not as great. Same with rebuilding the mesh.
    What mesh elements did you sort? For me sorting the vertices by distance from cursor (with the 3d cursor at the origin) gives the same symmetrical result as the mirror method.



  2. #22
    Thank you for clarifying, howardt. I suppose I just find it unfortunate that in a case that seems almost an ideal test case like my model above, you could get such a divergence from what you might expect.

    Initial thoughts: Perhaps make the "adjustment" phase optional and controlled by a check box. Alternatively, have a check box to reorganize vertices before the adjustment phase. Both of these options run the risk of being non-intuitive to users, and potentially not very useful outside of a very few ideal cases, I don't know.

    I wonder if it might be better to split offset bevel into different functions that prioritize different constraints. Offset bevel already almost seems to do so. Take these two examples, both with a segment count of 2 and a profile of 1.00:

    In this case, the distance to the new edge from the beveled edge along existing edges is consistent, though not at the specified bevel amount, which was 0.05. The distance from the beveled edge to the new edge is not preserved at all (i.e. the green and pink lines).


    In this case, basically the opposite occurred. The offset along existing edges varies, but at all points the offset of the bevel itself is constant, and at the specified amount of 0.1.



  3. #23
    Member howardt's Avatar
    Join Date
    Apr 2009
    Location
    Westfield, NJ
    Posts
    398
    Hi Rekov,

    I agree that it is unfortunate to get such divergence in your test model.

    Yes, it would be nice to give users some control over the adjustment phase. There already is some logic that partially does this - try setting the 'clamp overlaps' checkbox, which limits the amount something can be out of spec by about 10%. And there are some cases (helixes, usually) where the adjustment phase can spin out of control and balloon the edges to ridiculous sizes, so there is something that kicks in to prevent adjustment if the edges are getting more than 300% out of spec. Also, if you turn off 'loop slide' then one of the constraints that makes it hard to satisfy everything simultaneously goes away. But none of these things makes for a good bevel in the case of your model, I admit. One problem is that there is a non-deterministic adjustment that happens while the bevel is being done initially - if the vertex at the other end has been processed already, then it sets the widths at the current vertex to match, even if that doesn't match the spec.

    I could add more checkboxes to add more control over these things for the user, but it feels to me that these move far into the realm of having users say "what is this for??". Most users probably aren't even aware of the need for compromising on the specified amounts in order to meet other constraints.

    So I am trying to rethink how to do the adjustments, in a more principled way. Probably not do the 'even out widths at both ends' adjustment during building. And then truly allowing a 'no adjustments' checkbox mode. And finally, trying to model this as a global least-squared-error problem and thereby get (hopefully) smaller needed adjustments and more consistent ones. But I am afraid that it might be computationally expensive.



  4. #24
    Member howardt's Avatar
    Join Date
    Apr 2009
    Location
    Westfield, NJ
    Posts
    398
    Just letting followers of this thread to know: I just committed a change to master that fixes the problem that started this thread. It fixes it by using a more global math solution to the adjustment process, one that gives consistent results in different parts of the grid if they look the same. Ready https://wiki.blender.org/index.php/D...or_Even_Bevels for the gory details.



  5. #25
    Member
    Join Date
    Jun 2017
    Location
    California, USA
    Posts
    32
    Oh wow. Thank you for posting here on BA and updating the thread, and especially for the wiki writeup and hard work. Bevel is so essential I'm just glad it's not ignored entirely



  6. #26
    Member howardt's Avatar
    Join Date
    Apr 2009
    Location
    Westfield, NJ
    Posts
    398
    I am interested in artists' opinion on questions like:
    - Would you like a box that says "match the specified offset as much as possible, even if that means that one end may get a different offset than the other end (because, say, one end has to compromise with a conflicting constraint but the other doesn't)?
    - How important is a fast solution to Bevel compared to one that may end up with smaller deviations from specified offset at the expense of a percent or two difference in the offsets at each end? Speed can affect whether or not interactively beveling seems smooth and instantaneous or not; it also affects modifier performance, which may or may not be noticeable depending on how much the results of the modifier is cached.
    - How important is it that the widths on either side of the original edge are the same? I'd been kind of assuming that it didn't matter much as long as the total width looks close enough to the other edges' total widths. But if the beveled edge is between two different planes then having different widths on either side can make the the bevel plane have a different angle from what would be expected (e.g., 45 degrees to each plane if original planes are perpendicular). Making the widths on either side match as much as possible is also possible to do with the least squares setup I have just switched to, but the equations are more intertangled and the solution time might be noiticably slow)



  7. #27
    Member
    Join Date
    Oct 2011
    Location
    Firenze
    Posts
    3,450
    @howardt,
    what's the point of having fast-poor-quality bevelings?

    Blender really lacks edge groups; vertex groups and just-one Bevel Weight don't allow to make appropriate distinctions for the bevel modifier.


    paolo



  8. #28
    Member howardt's Avatar
    Join Date
    Apr 2009
    Location
    Westfield, NJ
    Posts
    398
    Originally Posted by sourvinos View Post
    @howardt,
    what's the point of having fast-poor-quality bevelings?

    Blender really lacks edge groups; vertex groups and just-one Bevel Weight don't allow to make appropriate distinctions for the bevel modifier.


    paolo
    The point of my question is to try to figure out the limits of what makes a "poor-quality bevel" in the minds of artists. In 3d people make compromises all the time to trade off quality against time (usually time to render, but sometimes, say, viewport responsiveness). If one bevel algorithm takes, say, 1 second to execute and produces widths that are, say, 1% more even than an algorithm that takes 1/1000 of a second, some might choose the second over the first so that they can have the convenience of interactive beveling (if the algorithm takes 1 second, you cannot do what we currently do, which is to recalculate the bevel every time the user moves the mouse a tiny fraction when interactive beveling). Others may prefer better bevel widths because that 1% matters to them. I have no idea how the population of artists divides on this question.

    I agree that the lack of edge groups in Blender is puzzling. Maybe something I can fix in 2.8, depending on how the other Blender devs feel about it.



  9. #29
    Member
    Join Date
    Oct 2011
    Location
    Firenze
    Posts
    3,450
    My personal opinion is that no compromise is acceptable about quality.
    Jut a few days ago I had to make some corrugated cardboard boxes for commercial products visualization, and to get rounded edges I had to make large use of beveling; though the result was very irregular and spiked, and I spent most of the time to fix them, by realigning edges, collapsing and joining points and so on, up to the point of retopologizing the whole objects, and it was hard.

    Thank you for your work and commitment,
    paolo



  10. #30
    Member howardt's Avatar
    Join Date
    Apr 2009
    Location
    Westfield, NJ
    Posts
    398
    Originally Posted by sourvinos View Post
    My personal opinion is that no compromise is acceptable about quality.
    Jut a few days ago I had to make some corrugated cardboard boxes for commercial products visualization, and to get rounded edges I had to make large use of beveling; though the result was very irregular and spiked, and I spent most of the time to fix them, by realigning edges, collapsing and joining points and so on, up to the point of retopologizing the whole objects, and it was hard.

    Thank you for your work and commitment,
    paolo
    Sorry to hear about your poor experience with "very irregular and spiked" results. If you file a bug with an example file, and assign it to me, I'll look to see what could be improved. I sort of doubt that it is related to the compromises I'm talking about in this thread. Maybe it has to do with what happens when the bevel extends far enough to cause collisions with other parts of the geometry?



  11. #31
    Member colkai's Avatar
    Join Date
    Dec 2011
    Location
    Staffs, UK
    Posts
    922
    When I encounter spikes it's sually because I've edned up bevelling an edgfe with a bevel weight, so every edge on that bevel wants to perform a bevel as well. If you have an example blend you could post, perhaps it would help shed light on why. It's rare that I can't get a clean bevel on any sort of geometry.



  12. #32
    Member
    Join Date
    Oct 2011
    Location
    Firenze
    Posts
    3,450
    Sadly I can't share the boxes in question since they are part of a commercial packaging set from a client, anyway I have deleted the buggy beveled object.

    Most of the issue to me was due to the impossibility to assign different edges to different bevel modifiers, and to the fact that doing manual beveling in edit mode one edge at a time just makes a mess on vertices.

    Originally Posted by howardt View Post
    Maybe it has to do with what happens when the bevel extends far enough to cause collisions with other parts of the geometry?
    yes, it can be, that's why the use of several bevel modifiers, and edge groups, would be necessary.


    paolo



  13. #33
    Member
    Join Date
    Jun 2017
    Location
    California, USA
    Posts
    32
    Originally Posted by howardt View Post
    I agree that the lack of edge groups in Blender is puzzling. Maybe something I can fix in 2.8, depending on how the other Blender devs feel about it.
    This would be amazing. Especially as Blender moves towards more procedural workflows.

    As for quality vs speed: there are so many different types of users with different priorities I'm sure it's tough. I personally don't mind a few extra checkboxes (within reason). I do really wish everything had a display/preview/render setting like the subdivision modifier.



  14. #34
    Member Felix_Kütt's Avatar
    Join Date
    Apr 2005
    Location
    Hiiu, Nõmme, Tallinn, Harjumaa, Estonia, EU
    Posts
    4,451
    Originally Posted by Willodactyl View Post
    This would be amazing. Especially as Blender moves towards more procedural workflows.
    100% This.
    FunLinks: . . . . . . .



  15. #35
    Member
    Join Date
    Oct 2011
    Location
    Firenze
    Posts
    3,450
    Thank you Howard for your latest fixes to the bevel profile=1 problems and for your dedication!

    Having the profile=1 working correctly is very useful to make supporting edges for using on subsurf modifier.


    paolo



  16. #36
    Member howardt's Avatar
    Join Date
    Apr 2009
    Location
    Westfield, NJ
    Posts
    398
    Glad you like it, sourvinos.



Page 2 of 2 FirstFirst 12

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •