This is a cylinder scaled down on the bottom. It has 8 faces and has 'Shading' set to 'Smooth'. But it looks like that:

enter image description here

I've also tried Edge Split modifier and Auto Smooth option with max angle value and I still can't get perfectly smooth result. I remember doing the exact same thing in 3dsMax back then (cylinder with 8 sides, perfectly smooth using smoothing groups) and it wasn't a problem.

These hard edges also show up when I export the model to Unreal Engine 4.


1 Answer 1


A normal map (baked from a high poly for instance) can solve the issue. So if you were going to use normal maps anyway, the problem will most likely become less prevalant.

Anyway, my process for setting up smooth and hard edges in Blender:

Select all faces and press W and choose Shade Smooth. Then for the edges you want to hard edges: Select those, and Ctrl+E, Mark Sharp. Add an Edge Split modifier. Uncheck 'Edge Angle' and make sure 'Sharp Edges' is checked. As far as I know that's all you can do.

The rest is down to the shader and how it interpolates the normals between two connecting vertices. And the only simple way to take control of those normals is with a normal map.

  • $\begingroup$ Thanks, I need to use this model with translucent shading in UE4, so unfortunately I can't use normal map for it. I've tried the Shade Smooth option and it still has hard edges. It's quite strange that it's not possible to make these edges smooth... I'll understand if that's the Blender shading model, but it also transfers to a mesh after exporting and these hard edges show up in external apps as well. $\endgroup$ Aug 31, 2016 at 8:16
  • $\begingroup$ ... Maybe I'm mistaken and it's not possible to have a perfectly smooth lower-poly meshes in any 3D app? But I remember doing the same thing in 3dsMax and a low-poly cylinder was perfectly smooth, I don't know how it worked there. $\endgroup$ Aug 31, 2016 at 8:23
  • $\begingroup$ What I understanding of it, but People should correct me if I'm wrong: normal information is stored in the vertex information. Any polygon created by vertices does not have it's own normal information. But this normal information is generated by looking at the vertices' normal info and interpolating between the two normals. Because each vertex is only 'looking' at vertices it's connected to, it doesn't take in account what the shape is of the entire object, so you'll always have these sort of artifacts as far as I know. $\endgroup$
    – do99
    Aug 31, 2016 at 9:23
  • $\begingroup$ Like: the shader doesn't know it's cylindrical or part of a monkey's head. It just knows that two vertices are connected and that there needs to be a smooth transition between the two. $\endgroup$
    – do99
    Aug 31, 2016 at 9:27
  • $\begingroup$ Well, I'll try to find some workaround then. Thank you, +1 $\endgroup$ Aug 31, 2016 at 9:47

You must log in to answer this question.

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