Basic Modeling, Edges, N-Gons, and Best Practices?

I’m fairly new to 3D modelling, and wanted to get a bit more into it. I have quickly come across a bit of confusion with the basics of modeling.

Right now, I’m getting used to modeling low-poly objects via loop cuts and extruding, as I have seen in some tutorials. Let’s say I want to make a model based off the original Excitebike cover art: see reference image 1

I start out by placing and aligning a cube at center mass, then cutting and extruding faces as I need to. I originally did this with loop cuts, but I quickly noticed that the amount of cuts became somewhat unwieldy, creating what seems to be far more edges than should be necessary: see reference image 2

As you can see, there are numerous places that could easily be grouped in as one cube. Using loop cuts does not seem to allow for this though, as such cuts wrap around the entire model: see reference image 3

To avoid this messiness, I thought to either dissolve the unneeded edges, or to subdivide on a single plane and manipulate that. The result seems to be a lot cleaner and easier to deal with and has far fewer vertices, edges and faces, but the process is more time consuming than the loop cut method: see reference image 4
(I could also further dissolve out edges)

However, doing it this way also creates N-gons. From what I’ve heard on the issue, it’s best practice to avoid creating N-gons, as they can lead to issues when using the models in other programs.

My question then is: which method is considered best practice for creating models? Is there some other method that gets the best of both worlds? Is there any difference in performance (however minor it may be) between models with only tris and quads vs models with N-gons but with fewer vertices, edges, and faces?

Reference images: https://imgur.com/a/YqgrT9T
(I can only have one image and two links per post, so I decided to put them in an album and reference them)

Welcome to BA :slight_smile:

I could answer your individual questions, but I find that understanding the theory of good topology will empower you to answer your own questions. For this reason, I’m going to instead send you to this site:

Read everything here. And then, read it again. This is the closest thing to a definitive, comprehensive Bible of topology you can find.

A couple small tips as well: n-gons are always bad. At the least, you should triangulate n-gons.

If you’re not doing animation, tris are fine. If you’re doing animation or deformation, you need 100% quads. No ngons. No tris. With animation, your poles should be 3, 4, or 5. If you have a pole greater than 5, your topology is broken.

You should always try to keep quads as close to square as possible. Tris as well. Long skinny triangles will butcher your performance.

Let me know if that helps, if not, I have plenty more resources you can learn from :slight_smile: there’s a really good video by CG Cookie about topology that I’m too lazy to find right now, but I’ll link it tomorrow morning

2 Likes

Thanks for your response! I read a few of the entries on TopologyGuides, and they seem really informative! However, I’m having a bit of trouble translating that to a practical application with what I am attempting here. Given that n-gons are to be avoided, then would the first way I attempted it be the “proper” way of creating such a model?
If you were to make this model, how would you go about it?

May I ask if you want to make a real 3d model or some sort of pixel art using polygons?

I’m doing this as an exercise in basic modeling. Basically I’m attempting to make a flat model of the image, but with depth. Basically if you add depth to a 2D image by extruding it outward some

If you create ngons as part of your modeling process, that’s completely fine, as long as you are going to split them into quads for the final model.

Also, your case here is one of the few situations where ngons would actually work fine (hard surface models that will not be subdivided or deform in any way), but you actually don’t need them here: there is a simple method with quads that will work.

Since you are replicating pixel art, you could just align a subdivided plane so it matches the pixel grid, then delete every polygon that doesn’t match the character. Don’t be scared of the amount of polygons you are getting here, polygons are cheap and Blender can easily handle that amount. In fact, Blender can handle multiple millions in a single scene.

The amount of geometry you get with ngons is the same as if you apply triangulation to them, so yes, it’s fewer polygons than the grid I am proposing, but ease of editing is also important.

2 Likes

In your case, I’d advice to subdivide a plane into uniform grid with the cell size equal with the single “pixel” and then delete the parts which are supposed to be “transparent”. And by the way, n-gons can work if 3 conditions are met: all vertices of the ngon lie in the same plane, n-gon is flat-shaded, and is non-deforming (no Armature or other similar modifiers).

2 Likes

That makes a lot of sense. I know that with the amount of polygons I’m dealing with there wouldn’t be any noticeable performance hit. However if higher performance was needed, then would it help to go in after the fact and dissolve edges and vertices out that can be grouped together without creating N-gons?

Also, just to ensure I understand this correctly, would this be considered a “good” model made with best practices?

Thanks for your response! You too Deckard! They’ve been very informative! (sorry, don’t know how to respond to multiple people)

If you are rendering using a path tracer renderer like Cycles, then the square polygons should have a better performance even though there are more of them. If you do a render of complex ngons, they will get triangulated into long and narrow triangles. Those narrow triangles mess with Cycles’ optimization system, because it uses the bounding boxes of triangles to decide which ones need to interact with which light ray. If you have lots of long, narrow, or even worse diagonal triangles, the bounding boxes become huge and overlap each other, making the render slower. Cycles much prefers faces that are even in size and cares more about how the surfaces are placed, shaded and lit than it cares about polygon count.

However, if you render using a rasterizer renderer like Eevee or game engines, then the number of polygons is much more relevant and their shape matters a lot less, because they just get drawn on screen pixel by pixel no matter their shape. This also includes the solid mode viewport.

So, Blender’s viewport/Eevee has different performance concerns than Cycles. This would only be a problem in a massive scene and even then, you could always make objects invisible in the viewport and make them appear only at render time.

3 Likes

I’d say yes, if your techniques did the job in reasonable time, then it is a good practice. As long as the mesh is non-deforming, there is not much use in overthinking topology.

1 Like