Srtange Behaviour Of Smooth Shaded Faces At Sharp Edges

Hi folks. I’m struggling with figuring out why smooth shading appears to have some strange effects on the appearance of meshes that have edges marked as sharp. IZAC helped me deal with a problem which I expect is related, but I’m totally stuck with this and just can’t see the logic to it.

The problem is that if I have a smooth shaded mesh, the smooth shading function looks like it’s still trying to include the shades of other faces in its calculations despite them having edges between them that are marked as sharp. I’ll give a super simple (general) example that I come across quite frequently, and then I’ll give a more specific example that I’m struggling with now.

Example 1:



This image is made by using GIMP to stick together the renders of the same two cylinders. The top pair of cylinders have flat shading applied and have the appearence of being a single large cylinder (as I would expect). The bottom pair of cylinders, however, have smooth shading applied have the very obvious appearance of being two separate cylinders.

Like I said, I expected that the extreme darkness of a well-lit section of the cylinder might be caused by the smoothing function trying to include colours from the flat end caps of the mesh, so I marked the circular edges as sharp and marked the flat circles at the ends as flat, but it made absolutely no difference.

Example 2:


This example is (at least as far as I can tell) a slighly less geometrically simple example of the same thing. The line seen across the top of the right sphere is created when i use the solidify modifier on a sphere with the top section sliced through, to form a lid. Even if I use the solidify modifier and disable the “Fill Rim” option, the shpere appears perfectly seamless, like on the left, but if I use “Fill Rim” to add in the edge faces, it appears like the image on the right. This is the case even when I mark all of the rims edges as sharp, and the faces created by “Fill Rim” as flat shaded.

Even in the plain old 3D Viewport view, I can see that it’s trying to smooth the edges that I’ve marked on the sphere as sharp. It’s driving me up the wall. >_<

Sharp edge marks don’t do anything on their own. Those are used with auto smooth setting or edge split modifier. Vertex normals affect the result of smooth shading and having a continuous shading over two or more pieces requires that the normals match between the parts, making it look like one connected part. That can be done by getting the normals from a whole object with data transfer modifier.

I’ve tried and failed miserably with the Data Transfer modifier before. I don’t have a clue where to start with it. Like you say to copy the vertex normals, but I can’t find a “Vertex Normals” option in either the “Vertex Data” options or any of the other ones.

I tried the Blender manual for help, but it seems to talk about options I don’t see anywhere and is confusingly laid out. I tried some YouTube videos too, but I only get a tiny number of relevant results, and they all seem to be of people taking 30 minutes to say “I don’t understand this”.