2
$\begingroup$

I have this very low-res object that I'd like to smooth with a subdiv modifier, however, I'm having problems with smoothing and keeping the edges nicely beveled... I've tried using a bevel modifier + subdiv modifier but I get fireflies... Is this way too low poly to be nicely smoothed?

enter image description here

$\endgroup$
1
$\begingroup$

The case study was not so simple for me so, I'm allowing to provide a more detailed answer (even if another answer is already accepted). Doing this, I'm also in hope that someone else will provide a simpler way to do it.

I presume we want to obtain the model on the right model from the one on the left:

enter image description here

The initial geometry is the following:

enter image description here

I've first simply added a bevel and a subdivision modifiers:

enter image description here

but bevel adds geometry along the cylinder so that the external part is not perfectly round.

So correct that, I've assigned the cross part to a vertex group and beveled only on this group:

enter image description here

but this makes appear some bad geometry at the cross corners (due to the subdivision modifier and underlying non quad geometry generated by bevel):

enter image description here

I correct it by "isolating" the cross part with an additional edge ring:

enter image description here

Now to bevel the outer part of the cylinder, simply add another edge loop:

enter image description here

Now have a closer look using a matcap, we can see that the center of the cross shows a visible square (which may be not wanted):

enter image description here

So to get rid of that I've subdivided the center square (making non quad, by the way):

enter image description here

Blend file with step by step modifications:

$\endgroup$
  • $\begingroup$ Thank you so much for your, honestly, awesome in-depth answer! I confirm that this method does work. I noticed a few, very minor artifacts in the bottom corners of the cross mark, but only at extreme angles... I think an alternative solution for my issue could be a mesh decal, but I haven't tested that because I don't know how to do it. Thank you very much, all and all, honestly, this is great! Thank you! $\endgroup$ – prubini87 Apr 1 '18 at 23:39
1
$\begingroup$

You seem to indicate two problems here.

Fireflies are usually a sign of rendering with too few samples and/or a very tiny light source. They are not directly related to bevel and subdivision modifiers.

To keep sharp edges sharp, you can set a crease value on selected edges (Shift-E) for the subdivision modifier. In the bevel modifier, set "Limit method" to "angle" with a value of 50°-80°. Or, if you want different bevel widths on different edges, you can use bevel weight ("Weight" in "Limit method", then select edges and modify bevel weight through Ctrl-E.
Note that the order of the bevel and subdivide modifier is also important.

You'll often also need to set smooth shading, and in that case you might want to activate "Auto smooth" in the "Normals" section of the "data" tab (the one marked with an inverted triangle). Here also, set the angle to taste. Or mark some edges as 'sharp'.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.