Home Technical Talk

Clamping bevel in a smarter way, is this possible?

Derzo
polycounter lvl 5
Offline / Send Message
Derzo polycounter lvl 5
Basically I want to know if it's possible to make a script preferrably for maya (or if there is already a one) that can clamps the bevel based on the space that an edge has around it. Normally in maya and other 3d applications there will be artifacts when the bevel fraction exceeds the space that the smallest edge has. It might be easier to demonstrate with an image.

In this case it wasn't that big deal, because I could just manually bevel the edges to get the desired result, but when there's more geometry it can become a problem. Plus it could save a ton of time. Another thing that could be useful, would be to have a padding option to have at least a minimum amount of space between the bevels, though that wouldn't be necessary. Just a nice thing to have.

So can someone more experienced than me explain why this isn't a thing yet? Or where it is? Or if it can be done? Thanks :)

Replies

  • Axi5
    Offline / Send Message
    Axi5 interpolator
    That's what fraction is... You're using it wrong.. When fraction = 1 one or more of your edges has collapsed and it won't go further. 
  • Derzo
    Offline / Send Message
    Derzo polycounter lvl 5
    Yes, I know that. But it want it to let me bevel the remaining edges that still do have space around them to the full extent automatically. If the word "fraction" is wrong there, sure, make it "offset" instead if it has to be world space.
  • Axi5
    Offline / Send Message
    Axi5 interpolator
    Ahhh I get what you mean now! It took a while before I understood... 

    There's nothing that I know of but it would be kind of handy for sure.

    So basically you want a fraction per edge rather than a fraction for the shortest edge and offset all the same amount? 
  • Derzo
    Offline / Send Message
    Derzo polycounter lvl 5
    Right, so have a global offset amount that every edge tries to achieve, but if they overlap, they stop there. Padding could be also world space, so integrate that to the overlap if statement. I've never really coded tools for 3d packages, so I have no clue how hard this would be haha
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    Mayas new bevel tools pretty much do this dont they? They will weld at overlaps and there's lots of parameters to fiddle with. 
    I  had a brief play with them yesterday and was quite impressed.

    If that's not enough for you, check back in a decade when the next round of changes are due ;) 
  • Derzo
    Offline / Send Message
    Derzo polycounter lvl 5
    Thanks for nothing, I'll start learning python :D (No, maya's bevel can't do this. It does weld at overlaps, but stops all the other edges in the process)
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    If you're feeling that brave I can suggest  a possible avenue of research.. 

    Look at straight skeleton / median line algorithms.  They tend to be implemented in 2d and within a single ngon but  will allow you to determine where intersection points between bevels lie on a given ngon.
    That information could be used to weight bevel distances and also the sums you do to arrive at it will give you locations to place loops however you want.
    (iirc there's a python implementation of straight Skeleton for blender you could look at) 

    Be aware, it'll probably be slow, my half finished max implementation was a bit sluggish and that's usually hundreds(thousands) of times faster than maya at asking questions of geometry . 
Sign In or Register to comment.