I’ve had a rather strange experience with Blender (2.49b) that I don’t understand.
I modeled an anvil and everything was fine, except the conical snout had faceting (that is the boundry between the individual faces was quite visible). I tried adjusting the split angle in the EdgeSplit modifier, but that didn’t help. After further experimentation, I discovered that a truncated cone (one missing it’s tip) cannot be smoothed!
For example, add a cylinder with 24 vertices, without capped ends. With the viewport shading set to solid, switch back and forth between Set Solid and Set Smooth. You will see that with Set Smooth, the faceting due to the 24 faces almost completely disappears. Now, select the circular set of edges at one end and scale it smaller so that what was a cylinder becomes the surface of a truncated cone. Again switch back and forth between Set Solid and Set Smooth. Notice that the faceting no longer disappears!
You can do the same thing by adding a cone. It’s fine until you clip off the tip (using a knife cut for example). If you then select the small circular edge and merge the vertices at center (thus restoring the tip), the cone smoothes correctly again. 'Very strange.
If anyone had an explanation as to why this happens and any possible work around, please post. I’l like to finish up my anvil.
Is it so difficult to add images/blend files demonstrating what you are talking about. I can’t be bothered having to try and follow your instructions so I don’t know if this is a real issue or not. Given 2.49b is now in effect defunct, does anyone really care ? If its a real bug, its not going to get fixed in a 2.4x release anyway.
Richard, 2.49b is not defunct for those of us writing for applications where the exporters do not yet exist for 2.5x. I look forward to upgrading to 2.5x (or 2.6x) once a .nif/.kf exporter is available for it.
I thought that what I suggested was so simple as to not justify the bandwidth of screen shots. However, as I would like your input (you have helped me in the past), I have added the screen shots below.
24 Face Cone with Set Smooth on:
24 Face Truncated Cone with Set Smooth on:
EDIT: I just got confirmation from a friend, the same thing occures in 3ds Max!
Very strange. And it’s not just an OpenGL thing. It shows up in the render for me. Edge Split only helps if you have caps on the top and/or bottom.
As far as I can tell, it is having trouble smoothing it because the polygons are very thin. If you add some more rings to it so the polys are closer to squares it renders fine… but it doesn’t seem like it should be necessary.
Rob, I tried your idea and added four rings and it improved it a lot! Like you said, it’s not just a Blender thing. I exported the cone without smoothing to a .nif file and smoothed it with NifSkope–with the same result.
Since I’m making content for a game, I need to minimize the polys. Your ring idea seems to be the best solution. Thanks, again.
Correct me if I’m wrong, but to my knowledge Blender, like most 3D softwares, uses Goraud shading which calculates the lighting for each vertex and then interpolates the lighting between sets of vertices. With elongated faces, like in this case, the algorithm simply has to find a compromise between the very short and the very long edges. Adding extra edge loops minimises the problem.
Maybe for the OpenGL, but not for the render. For rendering it would use Phong shading (or the equivalent) which interpolates the normals between the vertices.
RobCozzens: Correct, of course, which shader is used depends on which one you choose, but if you set the viewport shading to GLSL and try the different specular shaders, you’ll notice that the basic principle is the same. The lighting calculation is, AFAIK, based on the vertex normals.
Rob and Mats, I’m not sure you’re are not essentially saying the same thing. I do know that for the Gambryo engine, only the vertex normals are saved with the mesh. The surface normal for each face is calculated for shading at render time from the mean of its bounding vertices.
I would like to understand why this happens. It’s definitely more than just long, skinny faces, You can place two circles 10 times their radii apart and skin them to form a hollow cylinder with very long, skinny faces. However, the cylinder with Set Smooth looks fine. It’s only when you start decreasing the radius of the circle at one end that the faceting appears. It gets worse the more you shrink the circle at one end–until you merge it’s vertices, forming a cone, then it’s fine again. 'Very strange!