Home Technical Talk

Quad Ngon Modeling Techniques

vertex
Offline / Send Message
rogue1 vertex
Hi there,

I wanted your guys advise on how I should be going about modeling hardsurface objects. I am quite stuck in a pure quad mentality which I realize is silly and I am starting to see the pro's to utlizing n gons.

I did a quick model of a power socket piece to test two different methods of modeling. The first images are of the pure quad model. The second contains n gons.

I have a few questions about the two methods.

1. For the pure quad method things can get quite insane if you build a object that has say 20 different holes and indents in them and try to build supporting edges for each. I find Loop cuts don't work as you will just have to many and your mesh will become crazy and unmanageable. In my quad example my custom cut method worked well however if the top and bottom of that shape were rounded it would really distort the overall look. It's why I couldn't do loop cuts to support those square holes as it would of distorted the side round shape. So in a nutshell I am just banging my head against a wall when it comes to doing things with pure quads and even more so with more complex objects. I can't imagine doing something like millennial falcon with pure quads. Any advise would be much appreciated.

2. For the ngon version I did a bevel on the edges which worked nicely. My concern about this method is when I go to texture won't it cause issues? For example if I want to do some custom texture on areas where there are n gons won't there be stretching? If I want to unwrap the object and texture a small sticker on an area with ngons would that cause issues?  Any advise on when to use this method would be appreciated.

Thanks so much guys!

Quads


Ngons

Replies

  • Eric Chadwick
    Options
    Offline / Send Message
    Highpoly modeling for games is usually for baking purposes. In this case it doesn't matter what methods you use, quads or n-gons or whatever. It only matters how well it bakes (and how fast you can get it done).

    So if it bakes OK without too many artifacts, then it's done, move onto the next piece. It doesn't matter if it's a polygon soup. It's just a means to an end.
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    Thanks @Eric Chadwick good to know. When unwrapping a object and custom texturing a flat surface that contains n gons will that cause any issues? 
  • Eric Chadwick
    Options
    Offline / Send Message
    No, because you don't UV nor texture the highpoly, you only texture the in-game model. Which can be a mix of whatever polygons you like.

    Generally though for the in-game model it's better to have a nice edge-loop topology, for easier UV seams, and easier rigging for animation. 

    YMMV though, don't trust what anyone says. Test it out yourself to get the most bang for your buck. http://polycount.com/discussion/171153/the-death-of-curiosity
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    @Eric Chadwick And what if it's not for a game and you plan to texture the high poly model? For example if these models will be used in a high res still image thats 8 k+ 
  • Eric Chadwick
    Options
    Offline / Send Message
    Again, doesn't matter as long as it renders OK. Does it?
  • ant1fact
    Options
    Offline / Send Message
    ant1fact polycounter lvl 9
    Mostly just repeating what Eric Chadwick has said - hopefully the more opinions you have the more your mind will be at ease. With that said: You want a nice distribution of quads in areas where a model is going to be animated. Other than that, use whatever looks good. On a static mesh it is worthwhile to manually triangulate deforming quads/ngons before taking them to a game engine though because they will be ultimately turned into triangles and you want as much control over that as possible. On flat surfaces you can use all the ngons in the world it won't matter
  • ant1fact
    Options
    Offline / Send Message
    ant1fact polycounter lvl 9
    Oh and if you want to learn about correct subd topology, do look up "Grant Warwick hard surface" on google ;)
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    It renders fine but I just did a test and n gons you can't texture properly. I put a stick in the area I want and this happens 
  • Eric Chadwick
    Options
    Offline / Send Message
    That's because your UVs suck. :D Make better UVs!
  • Eric Chadwick
    Options
    Offline / Send Message
    Here. This includes Grant's tutorial, among other good resources.
    http://wiki.polycount.com/wiki/Subdivision_Surface_Modeling
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    I will have to try better uv's, I hope that's the issue and I can get it flat. I will report back :P thanks @Eric Chadwick
  • Eric Chadwick
    Options
    Offline / Send Message
    Also, look up Projection Painting. Won't completely solve bad UVs, but does help with slapping photos/designs into your UVs.
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    Ok you guys rock! Proper uving fixed the issue. So happy as utilizing n gons will save me sooooo much time. Seems like such a good method for flat surfaces. Attached are super rough tests. 

    Thanks again @Eric Chadwick


  • ActionDawg
    Options
    Offline / Send Message
    ActionDawg greentooth
    My problem with the UVyou're presenting is why not just make the sticker as a floater (separate mesh floating above your plug)? You won't have to rotate the texture awkwardly which loses a lot of detail, and the sticker mesh could be as simple as a flat quad.
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    @somedoggy Appreciate the comment, I will have to try that!


  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    Hi guys,

    I just encountered a separate issue when trying to do texturing on a higher res mesh. My process is to export to obj and unwrap the object in z brush using custom polygroup selections. My mesh looks fine but when it unwraps my polys get warped. I have researched this online but just figure out why this happening. Low poly mesh this method worked fine. Any ideas?? @Eric Chadwick

  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    You simply cannot expect an automated UV solution to do the work for you precisely in the way you are expecting.

    In other words : Whenever using an automated UV solution, be prepared to have to project texture information. But if you want to texture the asset in such a way that a straight element of the texture also appears straight on the model, then there is no way around it, you'll have to put the effort into learning proper (as in, 100% controlled) UV techniques.

    My process is to export to obj and unwrap the object in z brush using custom polygroup selections

    That's a great approach for prototyping and quick tests, but that will never be satisfactory for clean, tight assets. Case in point with your unwrap here, which shows about 75% of wasted space and not a single piece laid straight :)

    Of course there are hybrid approaches too (like only unwrapping a given part of a model if the rest doesn't require UVs ; being creative with UV island scale to maximize detail, and so on) but all these require solid UV skills to begin with. Good luck !
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    Appreciate it @pior will have to bite the bullet and stop taking shortcuts :P Love z brush's uving makes life easy first time I have run into a issue like this.
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    Well, think of it this way : it's not really a shortcut if it makes your work take longer or even prevents you from working altogether :) 
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    @pior very good point :pleased:
  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    You also need to get in the habit of using a numbered/lettered checker pattern to check for uv distortion. If you brought that last unwrap into something like headus you'd see the stretching and tension all over it.
  • furiouslul
    Options
    Offline / Send Message
    furiouslul polycounter lvl 4
    Even though I do agree that ngons don't necessarily matter if renders/deformations turn out fine - for new artists I still feel quad modelling is good practice.

    And yeah, same with the UV's. Dont auto them - and if you do, clean 'em up
  • CreativeSheep
    Options
    Offline / Send Message
    CreativeSheep polycounter lvl 8
    I live by a hard rule, n-gons are your enemy; and have as few triangles as possible, if you can have under 5 triangles, that is perfect.
  • throttlekitty
    Options
    Offline / Send Message
    I live by a hard rule, n-gons are your enemy; and have as few triangles as possible, if you can have under 5 triangles, that is perfect.
    And could you tell us why you have this rule or how it came to be?
  • CreativeSheep
    Options
    Offline / Send Message
    CreativeSheep polycounter lvl 8
    Quads make life easier with every segment of the pipeline. Sloppy modeling to use any nGons, in my opinion.
  • Add3r
    Options
    Offline / Send Message
    Add3r polycounter lvl 11
    If you are building a low-poly in-game mesh, n-gons are usually not okay.  Triangles, on the other hand, are completely okay and encouraged if you still maintain proper shading and can lower your tri counts.  

    For High Poly modeling, it is usually best to keep quads where you can to make life easier on yourself, but n-gons and tri's are sometimes a must to get proper shading for the bake.  I use n-gons quite frequently, sometimes an n-gon will actually shade better than a a quad or tri as reduces the chance of pinching on flat or low detail surfaces.  Claiming tri's and n-gons are flat out not okay is a mistake, as whatever gets you quality the fastest and most efficiently, the better.  Check out the "How to model dem shapes" thread, it is filled to the brim with examples of n-gons and tri's being used properly.  

    Pior nailed it in terms of UV'ing advice.  
  • yukonwanderer
    Options
    Offline / Send Message
    yukonwanderer polygon
    @Add3r and have you seen this tutorial? https://m.youtube.com/watch?v=Y83FLL6TqF0

    I'm so confused about this ngon tri thing.  I've never seen someone model this way before, full of ngons and tri's.  Is all that matters when it comes down to it is that smooths properly?  It looks like he just confirms visually that it looks good and doesn't worry about it too much. Or am I misinterpreting what he's doing ( can't hear what he's saying).
  • kurt_hectic
    Options
    Offline / Send Message
    kurt_hectic polycounter lvl 10
    Don't waste the potential of this model and...convert it to the pokemon from your avatar ;)
  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    @yukonwanderer if the sole purpose of the mesh is to use it to bake from, then it doesn't matter what the topology is or how you create it, as long as it looks good/bakes well
  • yukonwanderer
    Options
    Offline / Send Message
    yukonwanderer polygon
    @musashidan but both models are mostly ngon right? One is for baking but the other is going into a game no? 
  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    I don't know as I haven't watched the vid. But I doubt it's mostly n-gons. Yes, one for baking, one as the production mesh(game model asset) I'll talk about the production game mesh specifically. Regardless of the topology of the mesh a game engine will render the geometry as triangles. N-gons are unpredictable if imported to a game engine as there are many way it can get auto-triangulated and this can lead to shading errors. Quads are more predictable but generally you want to be in full control of your triangulation before exporting the final production asset. Another very important factor is passing a model with many N-gons down the pipeline to other artists..............not a good idea. ;) Quads are preferred for lots of reasons throughout the pipeline: easier to model/UV/skin, with access to clean edgeloops being the main reason. Triangles are often used for certain deforming topology as they work best in certain areas. Triangles are used to optimise topology. Triangles are often used to affect surface normal shading. Basically what I'm saying is that there are no set in stone rules to staunchly stick by. If the end result is a predictable triangulated mesh that bakes well and looks good in-engine then that's all that matters. It's up to you to study and experiment. Personally, I rarely if ever use N-gons when sud-d modeling. But that's not because I'm totally adverse to using them, it's because I've been sub-D modeling for about 10 years and know enough about controlling topology that I never find myself stuck with an N-gon(N=5 in this case) So for me it's just habit, and good practice in maintaining clean topology that is always going to be more efficient further along in the process. So don't get too hung up or panicked on what other artists are doing(as in the video) Every artist will have their own opinions. What's more important is understanding why/when/where, and for what you are using different topology for. Whether it's production sub-d, static game asset, animated character or hard-surface, or even sculpting topology, once you understand what the surface is intended for then the confusion evaporates.
  • Add3r
    Options
    Offline / Send Message
    Add3r polycounter lvl 11
    Most game engines triangulate meshes during import to scene, and especially during the baking of the final content to be previewed in real-time.  This does not mean exporting with n-gons is alright however, as most 3D painting or baking apps will require a triangulated mesh (usually auto generated via import of a quad/tri mesh from your chosen 3D Suite).  If you go to import a mesh with n-gons into zbrush or xnormal, they will complain and xnormal will just outright stop process and let you know you need to fix it in most cases.

    @musashidan hit the nail on the head with his break down of the LP mesh.  

    As for the video, he is modeling the highpoly mesh and is using n-gons, similar to what I had stated in my previous post.  It is 100% okay to use n-gons when generating your initial high poly mesh, as most times you will apply some sort of smooth/remesh process before exporting and/or triangulate your mesh for complete control of your results when baking.  If you rely solely on, lets say xnormal, to triangluate your mesh when importing, you can run into areas where you might have long quad faces and when it triangulates both your HP and LP mesh the edge it adds might be in different places and result noticeable shading differences between meshes.  This sometimes can result in some funky bake artifacts.  

    Like I said before, when modeling my HP in Maya I do not have to worry too much about my HP topology in regards to n-gons, tri's, and quads.  I simply generate the best smoothing mesh I can, in usually the most time efficient manner, and then use Convert > Smooth Mesh Preview to Polygons to then turn my smooth mesh preview of my initial HP mesh + a triangulation, usually into the final export mesh I will use for baking through XNormal or Substance.  When using the conversion, it usually retopo's the entire mesh into Quads and Tri's and gives me a really solid output mesh to bake with.  This results in no errors or warnings in zbrush or xnormal, and is super efficient time-wise.

    This is my personal workflow, and many others have their own preferences.  Just like any other art form, there is very rarely any set rules about how you create your models :) 
  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    One more thing that I wanted to mention regarding non-quads and subdividing. Tris and n-gons will always subdivide to quads anyway. They are only n-gons at the poly mesh level: 3x4=12 5x4=20 6x4=24 7x4=28 9x4=36 11x4=44 and so on.......... Just thought I'd add that in here. This doesn't mean that n-gons are always going to subdivide nicely, as they won't, but if they do and a subdivided result that contains them and looks good is the end of the road pipeline-wise for that particular mesh.......they are absolutely no harm.
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    @musashidan  @CreativeSheep

    Since you do mostly quad modeling because of experience how would you go about making pure quad mesh if the shape was round on the top and bottom? See the attached image for reference, I have put red marks for the proposed shape. Blue is my current cuts, and everything works great for pure quads. However if the shape were like the proposed red areas then my cuts would distort the shape when smoothing it. Just wondering if you had any tips on how I could secure those holes with my proposed shape?

    Main reason I have been looking at using ngons and tri's  is for super complex shapes with 20+ holes and engravings making loop cuts throughout the mesh gets crazy. Using bevels to secure them seems like the best solution but of course results in tri's or n gons.

    Thanks so much!


  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    @rogue1 are you sure you're not confusing tris and ngons with 3 and 5 sided poles respectively?

    As to your question I would terminate the loops. Once you have even sets of edgeloops that you want to terminate, you can always maintain quads. 
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    @rogue1 are you sure you're not confusing tris and ngons with 3 and 5 sided poles respectively?

    As to your question I would terminate the loops. Once you have even sets of edgeloops that you want to terminate, you can always maintain quads. 

    Ah I am confusing them. Always thought 3 and 5 sides poles was read as an n gon. Still learning :pleased:
  • musashidan
    Options
    Offline / Send Message
    musashidan high dynamic range
    @rogue1 I thought as much. :) E-poles - 5 valence verts and N-poles - 3 valence verts(being the number of edges that converge at a vert) are essential to sub-D modeling. In fact, you can't do any kind of detailed modeling without them. They control everything from bevels to edgeloop flow to extrusions. Where an edgeloop changes direction or terminates you will have them. If you extrude a face you will have them. They are problematic but an essential, necessary evil in sub-D modeling. They cause pinching that is often unavoidable, but can eventually go unnoticed when texturing/shading is applied. >5 - valence verts should be avoided(or minimised in the case of something like the polar vert of a cylindrical shape that hasn't been quaded)
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    @rogue1 I thought as much. :) E-poles - 5 valence verts and N-poles - 3 valence verts(being the number of edges that converge at a vert) are essential to sub-D modeling. In fact, you can't do any kind of detailed modeling without them. They control everything from bevels to edgeloop flow to extrusions. Where an edgeloop changes direction or terminates you will have them. If you extrude a face you will have them. They are problematic but an essential, necessary evil in sub-D modeling. They cause pinching that is often unavoidable, but can eventually go unnoticed when texturing/shading is applied. >5 - valence verts should be avoided(or minimised in the case of something like the polar vert of a cylindrical shape that hasn't been quaded)
    So helpful!! Thank you so much for explaining that, makes things so much easier! Huge help :)
  • yukonwanderer
    Options
    Offline / Send Message
    yukonwanderer polygon
    musashidan   and @Add3r   thanks guys, your explanations are so extremely helpful.  And @rogue1  sorry - I didnt mean to hijack your thread.
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    musashidan   and @Add3r   thanks guys, your explanations are so extremely helpful.  And @rogue1  sorry - I didnt mean to hijack your thread.
    No worries, I learned some things myself! :D 
  • rogue1
    Options
    Offline / Send Message
    rogue1 vertex
    musashidan   and @Add3r   thanks guys, your explanations are so extremely helpful.  And @rogue1  sorry - I didnt mean to hijack your thread.
    No worries, I learned some things myself! :D 
Sign In or Register to comment.