1
$\begingroup$

I have this object which I filled with flat N-gon faces such as this highlighted face.

enter image description here

And then I raised it using Propertional Editing.

enter image description here

As expected it would produce the following artifacts when rendered.

enter image description here

I tried to hide the other faces with H in Edit Mode and then subdivide this face using the Bisect Tool.

enter image description here

But I'm not sure if this is the proper approach to give this face more subdivisions to avoid this issue.

I also tried using Face > Grid Fill to no avail. I get the error

Select two edge loops or a single closed edge loop from which two edge loops can be calculated

enter image description here

How do I subdivide this n-gon shape properly?

I attached a sample blend file for the outline that does not accept a Grid Fill. If I do a Merge By Distance of 0.05m then the Grid Fill works but I don't want to reduce the amount of vertices.

$\endgroup$

2 Answers 2

3
$\begingroup$

The reason you can't have Grid Fill to work is simple : you can't have an all-quads topology fill a closed loop with odd number of vertices.

Grid Fill fills a closed edge loop or two edge loop with the same amount of vertices with an all-quads topology and if you select the edge loop on your file, you can see that is has 721 vertices :

Statistics

If you want to fill that with an all-quad topology (whether you Grid Fill it or you fill it by hand), you will have to add one vertex or dissolve one so that you get an even number of vertices. That's why it works when you Merge By Distance.

If you don't want to reduce the vertices, you can just add one by subdividing one of the edges and then Grid Fill.

The grid fill will work but it may give you a weird result like this where the faces overlap or the new vertices go outside of the original edgeloop :

enter image description here

This happen offten when you try to Grid Fill non-convex shapes like this one.

You can try to correct it by changing the Span and Offset value of the operator but in my case, I couldn't find any values that gives a decent result so my solution would be to give the Grid Fill a "little help".

Undoing the last grid fill I attempted, I separate the shape into smaller convex shapes that would be easier for Grid Fill to deal with. I just make sure that each part has an even number of vertices around it :

enter image description here

Then apply Grid Fill on each part and tweaking each result to give the best outcome. It will take some time but it would give something like this after you smooth the inner vertices a few times with W>Smooth Vertices :

enter image description here

This method is the fastest way I could find with native Blender tools. If the results doesn't satisfy you, you could always try to fill it by hand or use ALTF to fill it with triangles and remesh it with addons like Quad Remesher.

$\endgroup$
6
  • $\begingroup$ Hey thanks so much! it's funny that blender didn't tell me that i needed to have even number of vertices! coz i would have assumed that it may just have made the last face a triangle instead of a quad to complete the fill. $\endgroup$ Nov 30, 2022 at 8:02
  • $\begingroup$ Oh the error should have said "Select two edge loops or a single closed edge loop from which two edge loops can be calculated, meaning you need even number of vertices :D $\endgroup$ Nov 30, 2022 at 8:08
  • 1
    $\begingroup$ Well, indeed. The error message should at least give a hint to that. Anyway, that's how it works $\endgroup$ Nov 30, 2022 at 8:08
  • $\begingroup$ i found another solution! i just create another plane and subdivide it into neat squares, then i make sure the plane aligns with my n-gon and go to Face > Intersect (Knife) and use the intersected section. $\endgroup$ Nov 30, 2022 at 12:45
  • $\begingroup$ Seems faster. And it could be what you need. What about the polycount? $\endgroup$ Nov 30, 2022 at 13:13
3
$\begingroup$

An alternate solution would be to create a plane and put several subdivisions on it and then overlap it on the surface you want to subdivide.

enter image description here

Give your mesh a slight thickness via extrusion ( E ) and select it and go to Face > Intersect (Knife).

enter image description here

This will slice into your subdivided plane. Now you can delete the extruded part. Then select all with A and press M > Merge By Distance.

enter image description here

Select the excess faces around your mesh and delete them. Now you are left with a subdivided mesh. Not perfectly quad topology as you may end up with some triangles at the mesh boundaries, but at least it is cleaner and only uses fewer faces.

enter image description here

$\endgroup$

You must log in to answer this question.

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