My problem is simple. I think that the strange deformations on the top are there because there are so many vertices in one face. How do I fix this while maintaining nice topology?
Although I triangulated the top polygon, the problem still persists.
My problem is simple. I think that the strange deformations on the top are there because there are so many vertices in one face. How do I fix this while maintaining nice topology?
Although I triangulated the top polygon, the problem still persists.
Not to get too technical, this is because there is no supporting geometry at the edges where the vertices transition into the larger face (the ngon) and the subsurf modifier will stretch these (for lack of better words) giving the bumpy look.
Two simple fixes are:
Just select the top ring, hit E and scale it in a bit to the center.
OR
Select the top edge ring or the top face (the ngon) and hit AltP. You still need to add supporting geometry or the problem will persist. An edge loop near the top edge ring should suffice. It's a flat hard surface so merging to tris should be fine.
Rule of successful subsurfing: surround corners with a row of faces on each side (like the green cylinder) so you always have one line of faces that connects to the flat part at 180°. That way you disconnect the subsurf from spreading too far.
The subsurf won't change a vertex's height if this vertex lies on a plane with all verts of all faces it is connected to. And then it doesn't matter how you fill the flat part, be it Ngon, Triangle Fan or a map of Louisiana.
At least almost. All the inner verts will keep their height, but they are still moved in the other two dimensions according to the algorithm. While the orange part of the mesh is flat, everything green starts to bend down immediately so it's not necessarily a circular coast line.
In order to get a microscopically clean solution (which might be needed for reflections), a Triangle Fan or yet another additional face line seems best.
Take a look at the horizontal edge line to the right. Since the inner verts have the same height as the corner verts, they keep their height and don't get pushed around (horizontally, but not vertically) which in turn means, the edge between them doesn't change either. Only the corners get bent.
I see two solutions for this. The first is grid fill. It looks like this:
Nice quads all around. Make it like this. Delete the center ngon. Select the same amount of edges on opposite sides of the circle. Ideal is to select 1/4 of the total around the ring. Hit space and type grid fill.
The other way is to inset the center ngon almost to the center, like this. Some problems will probably stay, but they will be very tiny.