2
$\begingroup$

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.

$\endgroup$
2
$\begingroup$

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.

$\endgroup$
  • $\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$ – Good Samaritan Aug 31 '16 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$ – Good Samaritan Aug 31 '16 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 '16 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 '16 at 9:27
  • $\begingroup$ Well, I'll try to find some workaround then. Thank you, +1 $\endgroup$ – Good Samaritan Aug 31 '16 at 9:47

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.