Home Technical Talk

3dsMax 2020 Chamfer Modifier

1
high dynamic range
Offline / Send Message
musashidan high dynamic range
Max just went semi-CAD with its new Chamfer modifier. Been testing this on the beta for a while and it's fantastic. Anyone doing hard-surface in Max is in for a treat. It almost gives CAD filleting power, I've tested it in lots of different cases and it's VERY good. Check out Martin's(lead dev on it) demo.

 Highlights

  • The new Fixed Weight Chamfer keeps a consistent chamfer width. 
  • Weighted chamfer allow chamfer to be controlled on a per-edge basis with crease weights. 
  • New presets allow to save favorite or set default settings. 
  • Added Inset adds edge rings to chamfers for users who cannot use smoothing
  • groups, such as models for game engines. 
  • End Point Bias: Edges that don’t end at a corner terminate on the next parallel edge can
       bias between the near and far vertex.
  • Added Depth allows the profile of the chamfer to go from a depth of 1 (a sharp edge) 
       to 0 (a straight edge), to -0.5 (an inverted curve) 



Replies

  • TheGabmeister
    Offline / Send Message
    TheGabmeister interpolator
    Damn. These are some great updates. Excited to try it out soon. Any improvement with Max chamfers will make our lives easier.
  • gandhics
    Offline / Send Message
    gandhics polycounter lvl 8
    Even still getting better and better everyday. :)
  • Justo
    Offline / Send Message
    Justo polycounter
    Looking sexy. Particularly those presets feature - that looks so nice, and with a little scripting can become so fast. 
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    I'm very excited to see what you guys do with it. I think you will find that it handles difficult edge cases (pun not intended) much better than before. Of course if you have any problems, I'd like to hear that too. :)
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    coven said:
    I'm very excited to see what you guys do with it. I think you will find that it handles difficult edge cases (pun not intended) much better than before. Of course if you have any problems, I'd like to hear that too. :)
    Great to see you here, Martin. Thanks for all the great work you put into this.
  • Mark Dygert
    Yup those are some sweet improvements just what the chamfer modifier workflow needed. 
  • Justo
    Offline / Send Message
    Justo polycounter
    @coven Thanks for your and your team's work Martin! Good to see you in Polycount. 
  • CRYSTAL_Ant
    Offline / Send Message
    CRYSTAL_Ant polycounter lvl 6
    Hey where you guys are dowloading it I can't download 2020 nothing is on top of 2019 for me on their site =/
    it's only beta user ? 
  • Swordslayer
    Offline / Send Message
    Swordslayer interpolator
    Hey where you guys are dowloading it I can't download 2020 nothing is on top of 2019 for me on their site =/
    it's only beta user ? 
    AFAIK it's up for subscribers/from retailers, not available yet for students/edu users.
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    Certainly looking good, also the setnormals speed improvements sound interesting. Not sure its enough to make me continue spending so much money per month though :/
  • jRocket
    Offline / Send Message
    jRocket polycounter lvl 18
    Can it generate proper vertex normals along the chamfered edge like blender's new bevel does now?
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    jRocket said:
    Can it generate proper vertex normals along the chamfered edge like blender's new bevel does now?
    Can you elaborate on that? 
  • Swordslayer
    Offline / Send Message
    Swordslayer interpolator
    jRocket said:
    Can it generate proper vertex normals along the chamfered edge like blender's new bevel does now?
    Explicit vertex normals along the chamfer (under the disguise of Smooth to Adjacent) were in max chamfer since max 2017, IIRC
  • Mr Whippy
    Offline / Send Message
    Mr Whippy polycounter lvl 7
    And scripts to do the normals like that were in Max since someone wrote a script to do it years earlier than that...



    This looks nice.

    I've bought a few chamfery/sub-d etc etc packages for Max over the years to try speed up this work flow, and it still looks a bit lossy here. Specifically Marius Silaghi's Quad Chamfer. Which is pretty handy. No offsets though. You'd need to do push/pulls pre-chamfer mod.


    But for me, if you WYSIWYG, then doing it in the viewport quickly is nice, handy for an arty method of building something. But if you're doing it WYSIWYG, then one has to assume the design isn't concrete... that means it might change.
    And as soon as you change it, perhaps by adding new loops/supports/geometry, I assume all the information about these modifications is lost as it's tied to face/edge/vert numbers, and would become corrupted, just like Quad Chamfer by Marius?

    Also a weakness with that tool is no way to assign chamfer info to a vert, so you can have a tapered chamfer along an edge (say large to small)... is that something that is alleviated here?


    I've done WYSIWYG kinda arty workflows on assets, to then need to change it, using tools where chamfer info is stored on the edge, then the chamfer info is basically a write off and you have to start again.

    The only fix for this is planning, not doing the chamfers until you're almost certain you won't need to change them again. And by that time, the actual workload to complete/tidy up chamfers using existing tools isn't all *that* bad.


    So I'm all for these types of tools, good work.

    But without some NLE method (perhaps where the chamfer info are saved spatially using a volumetric matrix, rather than assigned to faces/edges/verts) that allows you to add a whole new chunk of parts to a model, and have the chamfer mod respect things set earlier, then it's kinda not all that useful is it?

    Maybe I'm missing something?

    It looks nice, and I'm glad to see progress in any area... but is it genuinely nice in a proper production environment without the NLE capabilities in there? Those to me, are the things that have let all these tools down for so long and I'd love to see those features added.


    Cheers

    Dave
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Hi Dave, 

    Yeah I completely get what you are talking about. We do have some things in Chamfer that help filter without you assigning exact edges to chamfer. If you are modeling and you have it set to all edges, all the edges will chamfer. Then you have a few ways to filter out the edges you don't want. You can set it to only chamfer hard edges and then we also have a min value range that will also filter out edges that are less than the angle.

    You also have the data channel modifier which is good for making more complex rules that could pass the selection and update on the fly. It can also set the crease weights automatically based on stuff like edge angles or other things.

    We want to have it as procedural as possible. If you have any ideas or suggestions, I'm all ears!
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    jRocket said:
    Can it generate proper vertex normals along the chamfered edge like blender's new bevel does now?
    Explicit vertex normals along the chamfer (under the disguise of Smooth to Adjacent) were in max chamfer since max 2017, IIRC
    I can never get it to look as nice as Silaghi's face-weighting though (in Max 2018 anyway) ? And wasn't there the issue that the weighted normals aren't actually ever exported even if visibly altered?
  • Swordslayer
    Offline / Send Message
    Swordslayer interpolator
    cptSwing said:
    jRocket said:
    Can it generate proper vertex normals along the chamfered edge like blender's new bevel does now?
    Explicit vertex normals along the chamfer (under the disguise of Smooth to Adjacent) were in max chamfer since max 2017, IIRC
    I can never get it to look as nice as Silaghi's face-weighting though (in Max 2018 anyway) ? And wasn't there the issue that the weighted normals aren't actually ever exported even if visibly altered?
    Back in the day, I made a 'preset' modifier to avoid having to set it up all the time. That said, it only stays 'nice' until you add some modifiers on top (and maybe export it) because it's not using Explicit Normals as it should but Specified Normals (while all Explicit Normals are at the same time Specified Normals, if they're not explicitly Explicit, they'd get reset ono topo change/during mesh conversions). Not like it should be hard to change (KeyHydra InsetSG is using explicit normals to keep smoothing along chamfers and it was pretty straightforward to implement it).
  • Mr Whippy
    Offline / Send Message
    Mr Whippy polycounter lvl 7
    coven said:
    Hi Dave, 

    Yeah I completely get what you are talking about. We do have some things in Chamfer that help filter without you assigning exact edges to chamfer. If you are modeling and you have it set to all edges, all the edges will chamfer. Then you have a few ways to filter out the edges you don't want. You can set it to only chamfer hard edges and then we also have a min value range that will also filter out edges that are less than the angle.

    You also have the data channel modifier which is good for making more complex rules that could pass the selection and update on the fly. It can also set the crease weights automatically based on stuff like edge angles or other things.

    We want to have it as procedural as possible. If you have any ideas or suggestions, I'm all ears!
    Having rules is a nice start.

    I'm also fairly sure, somehow, that face smooth groups are quite robust if you start messing about with topology (in fact, I think they remain irrespective of what you do, unlike vert/edge info?), so using smooth groups to manage hard edges, which then influence your rules, does give you a robust way to work if you're desperate to have some NLE ability.

    I've honestly not thought about it too much to be able to offer any ideas.


    My only thought based on the volumetric matrix above thing, is how those tools like Mari will re-map paintwork onto new topology if the mesh artwork changes.

    I suppose having a better way for Max to hang onto edge/vert numbers in a more robust way would be the better way around. Come to think of it, I'm not sure what are good/bad practices around retaining numbers. Definitely having a sub-d to add some mesh density in the stack, is a bad thing, if you go change mesh work under the sub-d.

    Hmmm
  • Dennis_Levi
    Offline / Send Message
    Dennis_Levi polycounter lvl 4
    Hey guys,

    just downloaded Max2020 and playing around with the chamfer modifier. I love to see how this modifier got improved.

    But I still need some help to understand the crease function correctly. Lets take a simple box as example.

    Left Box is Chamfer Modifier - Right box is just a regular box with support loops.

    Lets say I just want to harden the top edges of the box:
    So these edges.

    So I select them and turn down the crease.
    Like so...

    This is how it looks from the side...

    Now I've got the prob that the other edges got effected as well and I have an inconsistency smooth in my high poly...

    Do you guys know if there is a way to easily fix that issue?

    Thank you guys.
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Hey Dennis. 

    My guess is you want to have a smaller chamfer on the top edges, larger on the rest, but not interpolate along the length of the chamfered edge? 
  • Dennis_Levi
    Offline / Send Message
    Dennis_Levi polycounter lvl 4
    Hey coven,

    yeah, smaller chamfer on the top and the other edges should keep straight.

    So these ones should keep straight to the border edge.
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Hey everyone! Just a quick update. We have added a few more features to chamfer in the 2020.1 update.

    • Radius Bias - Controls the size of the chamfer when you have sharp angles, making the chamfer size more uniform and round.
    • Weighted chamfers - We had weighted before with crease weights, but as Dennis pointed out, the interpolation happened between the points, meaning the edges would vary in width. The new method keeps the edges uniform and distorts the mitered corner. The weight is also absolute instead of mapped between a min/max value.
    • Flow Loop - We have added a new inset method. 2020 we shipped with a face inset option and by users request we have added a flow loop type inset.
    • Depth Weight - Depth can now also be controlled with a weight, allowing for varying depth shapes along the model.
    • DCM - You can now use the Data Channel Modifier to control weight, crease weight and depth weight.
    Enjoy!
    Martin

    2020.1 Chamfer Update


  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    Awesome, can't wait to play with it when some other plugins I depend on are updated.. Any news on being able to correctly edit normals via MCG (ie building a face-weighted-normals modifier)?
  • Mark Dygert
    DCM controlling coven said:
    • DCM - You can now use the Data Channel Modifier to control weight, crease weight and depth weight.
    Woa, this just got interesting. I'm working on a game that uses vertex color for textures and we use the DCM to drive a lot of the shading. We noticed that there is a lot of overlap between what we needed the chamfer modifier to do and DCM but we're managing them separately, maybe not for much longer... I'm going to dig into this as soon as I have some time. Thanks for the update!
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Great to hear Mark! Please let us know of things you are using or would like to use DCM for. Fun fact, each one of the operators is a individual plugin. 3rd party devs have access to samples in the SDK. I hear it's easier to write than modifiers. I plan on taking a stab at a few myself when I get time.. some day. ;)

    @cptSwing
    We are hearing a lot of requests for FWNs. I think I have a pretty good understanding on what you all need, but please let me know what all you would want in such a tool. Also, if there is already a request on the ideas page, vote it up. If not.. add it! Our team does look at those requests. 

    Thanks guys!
    Martin
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Oh, and regarding plugins, we are working closely with many of the 3rd party developers to try and make sure the plugins you guys need come out around the same time as the SDK breaking releases. If you let me know which plugins you are waiting on, maybe we can reach out to them and see if we can help get them out sooner.

    m
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Hi everyone! 3ds Max 2020.2 update is releasing today, and I thought I would mention the latest additions to chamfering. 

    • We now have Patch and Radial Mitering
    • Vertex Chamfering now supports Depth and Segments
    • Vertex Chamfering can be driven with vertex weights in edit/able poly
    • New chamfer options are now available in Edit/able Poly: Uniform, End Bias, Radial Bias, Tension, and Depth
    Here is a link to the help.

    And here is a preview of it in action.
    https://www.youtube.com/watch?v=YhMzfFu4LbM&t=6s

    Hope you like the changes, and would love to hear what you think!

    Best, 
    Martin

  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Hey guys,

    just downloaded Max2020 and playing around with the chamfer modifier. I love to see how this modifier got improved.

    But I still need some help to understand the crease function correctly. Lets take a simple box as example.

    Left Box is Chamfer Modifier - Right box is just a regular box with support loops.

    Lets say I just want to harden the top edges of the box:
    So these edges.

    So I select them and turn down the crease.
    Like so...

    This is how it looks from the side...

    Now I've got the prob that the other edges got effected as well and I have an inconsistency smooth in my high poly...

    Do you guys know if there is a way to easily fix that issue?

    Thank you guys.
    Hi Dennis. I think what you want is weighted chamfer. Try that instead of using crease weights. The differences are that weighted interpolates at the mitered corner and not along the length of the chamfer, which is what you are seeing. Weighted is also absolute, so if you set a weight of .5, the chamfer amount will be .5. We have a scale control when you use weighted chamfer that globally scales the chamfers as well just for easy tweaking.

    Thanks!
    Martin
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    Thanks for updating the thread, Martin. Testing this on beta was a lot of fun. Weighted Chamfering is so powerful. Great work on this. Can't wait until people see the next project your team are currently working on. ;)
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Thanks for all your feedback on beta musashidan! 
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    Cheers Martin, hoping to do a video overview on my YT channel in the not too distant future.
  • Justo
    Offline / Send Message
    Justo polycounter
    @coven Your presence and updates in this thread in Polycount alone gives me more hope for Max' future than any marketing from Autodesk. Thank you for your work and keep it up! 
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Thanks Justo. I appreciate that. I can tell you we have a fantastic team. Not just modeling, but all of Max. Most of the team doesn't reach out in forums, but there is much more activity on beta. 

    Great to hear Musashidan! Can't wait to see it! I started one the other night that will hopefully finish soon. I always find it better to see customer videos though. Less bias of a opinion and it's great to see how others use our tools. :)
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Since I haven't gotten back to the video, here is a little enhancement that helps keep clean surfaces around the mitered corners when using patch or radial. I'm calling it smart support egdes. :)


  • onionhead_o
    Offline / Send Message
    onionhead_o polycounter lvl 16
    looks like the best bevel solution in any DCC right now.
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    looks like the best bevel solution in any DCC right now.
    It is. I've been trying out Blender 2.80 these last few months and Max has its Bevel modifier workflow beaten hands down. The advantages of Max are in the Edit Poly modifier, chamfering based on weighting and weighted blending that goes beyond the 1.0 limit, with variable width chamfers(image below which is a very nice feature), DCM modifier, passing selections up the stack, and inset features with Flowloop. Also, the smart support edges Martin mentioned above.


  • gandhics
    Offline / Send Message
    gandhics polycounter lvl 8
    Nice updates! 20,000+ lines of code in action!
  • Nosslak
    Offline / Send Message
    Nosslak polycounter lvl 12
    Is there any chance that this problem will ever get fixed:
    https://youtu.be/8njfLHJsGbc
    This has been a problem for at least the last four and a half years I've been using Max. Has this ever worked properly or did it get broken somewhere along the line and no one could be bothered to fix it?
    A workaround would be to use the uniform mitering option with a tension of 1.0 but then that just creates extra geometry that needs to be cleaned up before bringing the model into a game engine. The ideal solution would be to just fix the tri mitering option and/or implementing support for uneven amounts of edges in the other mitering options.

    I do think the improved chamfer modifier is impressive, however there's so many relatively small issues issues like this everywhere in Max. While if you were to look at other software like Blender it mostly just works as you'd expect out of the box.
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Looks like you are using the miter type tri. Try switching to uniform and it will work as you expect. The reason we don't change the algorithm for the older types is because if you have a scene saved from previous versions it would alter your model.
  • Swordslayer
    Offline / Send Message
    Swordslayer interpolator
    coven said:
    Looks like you are using the miter type tri. Try switching to uniform and it will work as you expect. The reason we don't change the algorithm for the older types is because if you have a scene saved from previous versions it would alter your model.
    Uniform is the only one out of the three that works here (inside edit/able poly, with chamfer modifier, quad works as well for some reason) but it's also impossible to make a zero-segment chamfer with it without manually removing the middle edges and the default value it sets to when right-clicking the spinners is not zero but 0.5 which makes making flat chamfers kind of a chore. If zero-segment chamfer is introduced for other mitering types (and it's possible to zero-out its spinner), that'd fix that.
  • Cathodeus
    Offline / Send Message
    Cathodeus polycounter lvl 15
    @Coven Martin, yes we definitely need a zero segment chamfering. Especially for Med rez models. This zero segment chamfer method is used in junction with weighted normals for current game pipelines.

    Currently if we want to do this accurately we need to use one modern corner mitering in max with one segment and than manually remove middle edges wich is sub optimal on complex models.

    That being said, with all features included in current chamfer modifier, Max is better than Blender guys ! Weighted changers, Flow Inset, Patch and Radial corner mitering. That is good !
  • Nosslak
    Offline / Send Message
    Nosslak polycounter lvl 12
    Yeah, that's what I meant above, even if it was worded poorly. We do need zero segment chamfer support for at least the uniform mitering method. We're not on the latest Max at our studio but it would be very helpful for the next time we upgrade as we use the chamfer modifier a lot.
  • 3Dyan
    Offline / Send Message
    3Dyan polycounter lvl 13
    Is there any way to avoid this corner caving issue in scenarios similar to this one?
    In this case there's a chamfer along each edge, but whenever I move the selected vert as demonstrated, the circled corner collapses.

    Theses are the specific settings in this case, but it's the same with other mitering options. Flow loop doesn't affect it, nor does the radius bias.

  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    Can't repro here. Geo doesn't collapse my end. Obviously though, non-planar faces can often cause trouble.

    Gif Broken.....



  • 3Dyan
    Offline / Send Message
    3Dyan polycounter lvl 13
    I've made this to make things a bit clearer. I should have probably said 'cave in' rather than collapse. Please let me know if you still can't reproduce.

  • Swordslayer
    Offline / Send Message
    Swordslayer interpolator
    Fun fact, it wasn't broken before the update, left is max 2020, right is the same scene opened with the chamfer update:



  • coven
    Offline / Send Message
    coven polycounter lvl 6
    I don't think that is a fun fact. We'll take a look at this. Sorry about that!
  • Ghogiel
    Offline / Send Message
    Ghogiel greentooth
    I want to use the chamfer modifier to get basically the result on the right... I think the default behaviour would work like that on such a basic shape tbh, I just want a predictable edge control like the tri setting, but with how quad handles corners. Or am I doing it wrong?

    https://youtu.be/bOdhMFpeiOo



  • coven
    Offline / Send Message
    coven polycounter lvl 6
    @Ghogiel This is due to how we are handling right angles. We can look into this and see if there might be a better way. Thanks for the info!
  • coven
    Offline / Send Message
    coven polycounter lvl 6
    Hey everyone! 

    Now that 2021 is announced, I wanted to let you know of the changes around chamfer. There isn't a lot. More about tying up loose ends on it.
    • First, we updated the algorithm to perform better when you have right angles like @Ghogiel posted above.
    • We added all the chamfer settings to the edit poly modifier. This had to wait until we were at a full release due to backward compatibility.
    • All chamfer types now support zero segments. Works great with the new weighted normals modifier. 
    Thanks everyone for all the feedback. We hope the chamfer tools are working great for ya! If not, please let us know as we are always trying to improve the tools.

    Best, 
    Martin


1
Sign In or Register to comment.