4
$\begingroup$

Using Blender 3.5. I am modelling this rook chess piece and having some weird shading issues. Here, in the image, the place where the rook's top wall and window meet, I have the shading problem. I applied a bevel and subdivision surface modifier on it. How can I fix this?

enter image description here

$\endgroup$
2
  • $\begingroup$ You might take a peek at the (very opinionated, but generally right :) ) Ian McGlasham's chess-set. The result is pretty similar to moonboots.. (4-poles on sharp corners) .. but a way of thinking clean-subdiv. from the outset. $\endgroup$
    – Robin Betts
    Commented Sep 10, 2023 at 8:52
  • $\begingroup$ @RobinBetts Thank you. I've taken a look at it. He indeed uses a method that is very different. $\endgroup$
    – Bora Semiz
    Commented Sep 10, 2023 at 10:51

3 Answers 3

6
$\begingroup$

A Bevel modifier won't always work, maybe use this topology instead:

enter image description here

$\endgroup$
1
  • 1
    $\begingroup$ Thank you. Changing the topology as you suggested didn't completely solve the issue but gave me the idea of getting acquainted with topology in general. It seems like there was a pole on that corner where 5 edges meet. I turned it to a vertex where only 4 edges meet, like in your image, and added some support looks. That fixed it. $\endgroup$
    – Bora Semiz
    Commented Sep 10, 2023 at 10:54
3
$\begingroup$

If you want a "quick 'n dirty" way to sort it on this particular model, change the Miter Outer setting in the modifier's Geometry section from Sharp to Arc:

enter image description here

You should always look at the rest of your model to make sure it hasn't caused any other problems.

$\endgroup$
2
  • $\begingroup$ Arc causes pinching though $\endgroup$
    – moonboots
    Commented Sep 10, 2023 at 7:07
  • $\begingroup$ @moonboots I did say "quick 'n dirty"! It really depends how fussy you are with the shading. The car_paint matcap is intended to show up the slightest shading defect. $\endgroup$
    – John Eason
    Commented Sep 10, 2023 at 8:01
0
$\begingroup$

Changing the topology as you suggested didn't completely solve the issue but gave me the idea of getting acquainted with topology in general. It seems like there was a pole on that corner where 5 edges meet. I turned it to a vertex where only 4 edges meet.

The problem isn't how many faces you have meeting there, it's that you're generating non-convex polygons. Subdividing an N-gon with a concavity results in... well, the mess you discovered.

That said, you probably don't want 'Sharp' outer miters, especially if you're going to try to subdivide the result further. So, first change that to 'Arc' (as in John's answer). I'd also play around with the width type; I've noticed 'Absolute' often gives more consistent results.

The way (I found) to fix this with the least modeling changes is to split the faces to either side of the crenels (below the merlons) into triangles with the diagonals pointing to the corners. This happens to work with two subdivisions of bevel (and outer miter set to 'Arc'!) because it results in convex quads around the problem corners:

post-bevel wireframe

(You may notice I also added a ring of quads to the top. This significantly improved some artifacts that were popping up there.)

Applying subdivision gives this result:

shaded with subdivision

FWIW, I'd also recommend removing the 'baked in' bevels and instead generating them with a modifier. Use bevel weight to achieve different bevel radii.


BTW, I'd be darned tempted to model this as a revolute and use boolean operations to cut the crenels. That would probably allow you to avoid needing subdivisions at all. (Or, model it in FreeCAD so you can model it as surfaces rather than polygons.)

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .