2
$\begingroup$

I am trying to model a smooth spherical bump in a flat surface. I initially used a bezier curve, converted it to a mesh, used a screw modifier and smooth shading to make the bump. Then I just placed it on a flat surface. This led to the circular edge being visible as in the following picture: overlapping objects

Corresponding blender file

Then I tried extruding the bump instead and turning the circular edge into a square by manually moving the vertices, but I still get artifacts whether I use flat or smooth shading, eevee or cycles rendering: flat shading smooth shading

How can I avoid these artifacts? And what is the easiest way to model such a structure? (especially if I want to show cross-sections of it and have it represent multiple layers, as can be seen from my attempts)

Corresponding blender file

$\endgroup$

2 Answers 2

3
$\begingroup$

Your topology is giving you trouble.

The best topology for your model can depend largely on its intended use (gaming? static or animated? etc) but in general one should start with "good" all-quads topology (no poles less than 3 or greater than 5, no poles on creased, tightly curved, or transition-between-flat-&-curved areas, even-as-feasible polygon distribution, loops follow real-world function, etc).

enter image description here

The above pic is your second example's topology -- note the high polygon density of your bump and the surrounding area, suddenly transitioning to a far lower polygon density of your "flat" plane (which isn't flat, according to the different z-positions of the two verts selected).

enter image description here

In this example I've joined half a roundcube to the outer remaining faces of a subdivided plane. The four selected verts are poles (they have more-or-less than four edges into them). If the transition edges between the flat plane and the curved bump went through these verts that could cause surface artifacts, so before I Relax the bottom edge-loops of the roundcube into the plane I'll add a loopcut, the verts of which will remain on the same plane (here 0 on the Z-axis) as these poled verts:

enter image description here

The pic above shows the bottom edge-loops of the roundcube Relaxed into the plane. Note that the transition between the flat plane and curve of the bump happens on the edge-loop inward from those four poled verts. Loopcuts have been added to the outer faces of the plane so the faces of the model are more even in size -- this will help the Subdivision modifier produce better results:

enter image description here

In the above pic half the faces have been deleted, the outer edge-loop has been extruded down and scaled to zero on the Z axis, and loopcuts have been added to the resulting faces for the "layers" you want to show. Although the long/thin quads of these "layers" aren't best topological practice, they're necessary for the effect you said you're trying to achieve (unless you want to add a lot more loopcuts to make them more square). Below I've set the Edge Crease of the model's outer edges to 1.0 so the Subdivision modifier won't soften them (one of several ways to achieve that, not sure what'll be best for you on this).

enter image description here

I'm attempting to upload the .blend file but it's giving me an "internal error", I'll try to post it here later -- Sorry.

Edited to add: uploaded the blendfile to a different service, here it is.

$\endgroup$
1
$\begingroup$

First things first, you need to enable Auto smooth so that Blender doesn't try to smooth out normals that should remain flat:

auto smooth

Then, it's really a matter of handling you topology correctly.

Your bump shape start from bellow the outer squere, and the extreme amount of edge loops will force the normals to straighten that sudden change in direction with no transition.

So first, in edit mode with edge selection, select a bunch of these edges that loop around your bump (not the other ones crossing it), and then extend the selection to the whole loops using Select Edge Loops:

select edge loops

Then press ⎈ CtrlX to dissolve these edges.

Already it should help a lot:

result

$\endgroup$

You must log in to answer this question.

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