Home Technical Talk

taking a class online and I am questioning the teachers topology & edge flow


hey, long time lurker on this forum and wanted to ask a question about hard surface topology. I'm taking an online course and it was going pretty well until I reached this part of a GameCube controller.


from my understanding, I thought it was a bad practice to have a lot of poles... and I also understand this is a flat surface which might make it an exception. But I am also wondering if I am learning bad topology? It seems like the bevel to create the hard edges of the octagonal shape surrounding the c-stick is why the poles are coming into the picture.
My brain is fighting the teacher and telling me that this edge flow could be better - but I am also still learning so any insight on this would be appreciated :)

Replies

  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    first rule :  if it shades ok, it's ok 

    however, based on my (admittedly very rusty) subdiv modelling experience this is a perfect case for using ngons over triangles 
  • sacboi
    Offline / Send Message
    sacboi high dynamic range
    wavybabe_ said:
    from my understanding, I thought it was a bad practice to have a lot of poles... and I also understand this is a flat surface which might make it an exception. But I am also wondering if I am learning bad topology?
    No, on both counts!

    Because you'll find as time goes on, progressively modeling objects of ever increasing complexity will require ngons or n-poles or triangles for certain situations where they're unavoidable not too which is really an efficient process in maintaining an effective edgeflow, that usually mitigates shading artifacts from occurring - once subd is applied. Especially, sketching class A surfaces when modeling vehicles and such like, plus yes by all means there's always room for geometry/topology tweaks, if you think can be improved upon then go for it.

    For example, I'd revise those tris as quads


  • gnoop
    Offline / Send Message
    gnoop sublime tool
    One thing have always puzzled  me.   How  people do LODs with those  Sub-D  models with  gazillion extra support edge loops and regular quads ?    
     I understand for  offline  rendering   where sub-d is  the lowest LOD    but what about games?
      
  • wavybabe_
    sacboi said:
    wavybabe_ said:
    from my understanding, I thought it was a bad practice to have a lot of poles... and I also understand this is a flat surface which might make it an exception. But I am also wondering if I am learning bad topology?
    No, on both counts!

    Because you'll find as time goes on, progressively modeling objects of ever increasing complexity will require ngons or n-poles or triangles for certain situations where they're unavoidable not too which is really an efficient process in maintaining an effective edgeflow, that usually mitigates shading artifacts from occurring - once subd is applied. Especially, sketching class A surfaces when modeling vehicles and such like, plus yes by all means there's always room for geometry/topology tweaks, if you think can be improved upon then go for it.

    For example, I'd revise those tris as quads



    Thanks for your response! - and it is true most of the areas with the n-gons and poles dont have shading issues.. SO ill keep on diving deeper. The excess tris also had me wondering and I'm glad I have confirmation that some of the flow could be optimized. I might try to do just that when I finish the project using his topology, then try optimizing the model for a game engine.
    gnoop said:
    One thing have always puzzled  me.   How  people do LODs with those  Sub-D  models with  gazillion extra support edge loops and regular quads ?    
     I understand for  offline  rendering   where sub-d is  the lowest LOD    but what about games?
      

    Always wondered the same thing tbh. I'm not sure if this class is focused on games, but more of the techniques of hard surface modelling. Would like to know this as well. Seems like a lot of the classes use the support edge loops but don't explain preparing game models

  • iam717
    Offline / Send Message
    iam717 interpolator
    gnoop said:
    How  people do LODs with those  Sub-D  models with  gazillion extra support edge loops and regular quads ?    
     I understand for  offline  rendering   where sub-d is  the lowest LOD    but what about games?
      

    Probably planning well in advanced, when-making the loops thinking bout the game res throughout.  Also heard about some plugin or application process that can do this for "us/them", idk if its an online only thing, heard about it recently though on some youtube video.  (asking me to pull that up will take a bit, better to search it out if it is not already in the wiki.)
  • gnoop
    Offline / Send Message
    gnoop sublime tool
    My Sub-D  skills  are a bit outdated.  I did  it  decade or two ago  , Then figured  out I can just make a boolean composition ,  whatever long  irregular triangles  it may give you  , fix vertex normals   by projecting them  from initial shapes    and bake "rounding"  shader  into normal map  over hard/split  edges. 

    Since then SUb-D  always seemed to me like a weird sport .    Perhaps it's a valuable  skill outside gamedev ?
  • Benjammin
    Offline / Send Message
    Benjammin greentooth
    gnoop said:
    One thing have always puzzled  me.   How  people do LODs with those  Sub-D  models with  gazillion extra support edge loops and regular quads ?    
     I understand for  offline  rendering   where sub-d is  the lowest LOD    but what about games?
      
    I can't speak for everyone, but the sub-D stage is the mid-point. I use that mesh to generate the base high poly, and LOD0 by removing unnecessary verts/edges. Unreal generates usable LODs 99% of the time.
  • wavybabe_
    gnoop said:
    My Sub-D  skills  are a bit outdated.  I did  it  decade or two ago  , Then figured  out I can just make a boolean composition ,  whatever long  irregular triangles  it may give you  , fix vertex normals   by projecting them  from initial shapes    and bake "rounding"  shader  into normal map  over hard/split  edges. 

    Since then SUb-D  always seemed to me like a weird sport .    Perhaps it's a valuable  skill outside gamedev ?

    You can do this within maya? Why am I learning subd if it seems like no ones uses it in the current game development pipeline >_<
  • gnoop
    Offline / Send Message
    gnoop sublime tool
    You can do this within maya? Why am I learning subd if it seems like no ones uses it in the current game development pipeline >_<
    I don't use Maya  but almost sure  you can.   It has  Attribute transfer  that can transfer UV and  vertex normals  as far as I know.    Arnold  does have rounding corners  shaders to mask hard edges .   Everything else could be painted  in SPainter directly on low poly  for hard surface  objects.   

    So hi poly  object for hard surface things  in   99%   is just not necessary.    I can't say  no one uses sub-D,  I simply doesn't see the point .  Especially  now when CAD modellers could produce nice  polygonal export with perfect shading   and if it's not  perfect  you could  export  hi poly model from same  CAD  file and  transfer  vertex normals  to low poly.      

    Benjammin   I never used Unreal in actual production.  But tried simplygon couple years ago.  Is it that good now  you can forget about lods ?   Form my last approach  it didn't look especially  smart.    Not that much better than Blender's decimate modifier .   My guess  Unreal just doesn't drop LODs  close enough to care now.   It uses  that screen space   something  to kill polygons in distance  on its own, right?

    ps. Oh . I've got it.  You do  subD for hi poly  but for actual in game  model ( LOD 0)  you  kill support loops and make  usual hard/split  edges. right ?     I work similar way  when I know the hi res is absolutely necessary.  but  still  don't do  true SUB-D.   Just  more facets on cylinders. Then dynamesh it in Zbrush for hi poly.










  • Benjammin
    Offline / Send Message
    Benjammin greentooth
    gnoop said:

    Benjammin   I never used Unreal in actual production.  But tried simplygon couple years ago.  Is it that good now  you can forget about lods ?   Form my last approach  it didn't look especially  smart.    Not that much better than Blender's decimate modifier .   My guess  Unreal just doesn't drop LODs  close enough to care now.   It uses  that screen space   something  to kill polygons in distance  on its own, right?

    ps. Oh . I've got it.  You do  subD for hi poly  but for actual in game  model ( LOD 0)  you  kill support loops and make  usual hard/split  edges. right ?     I work similar way  when I know the hi res is absolutely necessary.  but  still  don't do  true SUB-D.   Just  more facets on cylinders. Then dynamesh it in Zbrush for hi poly.
    You control them by defining the screen % where the switching happens, and how much decimation each level takes. Its obviously not as optimal as building your LODs manually, but its good enough for most 'character-scale' assets. I definitely don't rely on it for big stuff like cliffs.

    And yeah, that's more or less it. 

    Don't skip learning the fundamentals, folks. If you can't precisely control topology when you need to, you won't get far. But if you know what you're doing, you'll learn when and where you can take shortcuts.
  • dimwalker
    Offline / Send Message
    dimwalker polycounter lvl 16
    gnoop said:
    bake "rounding"  shader  into normal map  over hard/split  edges. 
    Can you recommend any good tutorial on this process for 3dsmax?
  • sacboi
    Offline / Send Message
    sacboi high dynamic range
    I'd recommend taking note of this snippet:
    Benjammin said:
    Don't skip learning the fundamentals, folks. If you can't precisely control topology when you need to, you won't get far. But if you know what you're doing, you'll learn when and where you can take shortcuts.
  • gnoop
    Offline / Send Message
    gnoop sublime tool
    dimwalker said:
    gnoop said:
    bake "rounding"  shader  into normal map  over hard/split  edges. 
    Can you recommend any good tutorial on this process for 3dsmax?
    Actually I tried it couple times only in MAx  even  before  Arnold start to work properly in MAX RTT  window and had it's own bake button.    It's called  Rounded corners map   and  somewhere in Arnold utility.     https://www.youtube.com/results?search_query=rounded+corners+in+3d+maxarnold
    Maybe something from those.

    In fact I use Blender  for that  and sometimes Octane  render. It does it pretty nicely too.

    3dmax still doesn't have  decent data transfer modifier  that can transfer vertex normals   from hi or pre-boolean forms  to low poly in real time .  A big part of the workflow too. To kill shading artifacts on low poly I mean.     But I have seen  scripts that do it pretty well.

    In general  I agree Sub-D  is a nice skill  everyone should  learn.   I just don't think it's that much critical.  There are alternatives  I personally find lesser pain in someone a..   


  • Michael Knubben
    Nowhere does the OP say 'Subdivision', so why is everyone jumping to that conclusion, especially given the absolute lack of a subdivided shot?

    If it's the lowpoly, and it's extremely unlikely it'll be animated, poles are absolutely inconsequential except when they figure into the unwrap, which they wouldn't here. If it's going to get subdivided after all: why are we answering whether it's okay without seeing it subdivided?
  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    if you skip past insecurities about whether or not you are doing things the correct way and just finish, you'll be done in 1/10th the time and then you'll be able to see the whole picture in retrospect. Then you can easily redo it and improve any areas you see fit.

    If you fiddle about every insecurity - especially when you don't have much experience - you'll take 10x longer and then you wont have time/energy for improvements once it's all finished.

    It's good to question the teacher because they are probably an idiot. Just like yourself, and everybody else on the internet. You can't take anybodies word for anything. We can all barely remember how to tie our shoes. You have to test out for yourself and see what really makes a difference that can be seen or not.
  • wavybabe_
    Nowhere does the OP say 'Subdivision', so why is everyone jumping to that conclusion, especially given the absolute lack of a subdivided shot?

    If it's the lowpoly, and it's extremely unlikely it'll be animated, poles are absolutely inconsequential except when they figure into the unwrap, which they wouldn't here. If it's going to get subdivided after all: why are we answering whether it's okay without seeing it subdivided?

    I didnt say subdivision in the original post but i did clarify in the comments that it is what my current class is focused on. We create the models using hard surface, support edge loops, then at the end subdivide for high poly bake. As far as I know.. Im only 3 weeks into the course and this is the first couple lessons, so it might be about fundamentals at this point - which I appreciate but Id rather learn about true topology as part of a current pipeline.

    I think a lot of these renders we are doing right now are about renders and not in game assets - which is probably why he is using this method. Im just confused to how this fits into a current 3D game modelling pipeline if at all
  • wavybabe_
    Alex_J said:
    if you skip past insecurities about whether or not you are doing things the correct way and just finish, you'll be done in 1/10th the time and then you'll be able to see the whole picture in retrospect. Then you can easily redo it and improve any areas you see fit.

    If you fiddle about every insecurity - especially when you don't have much experience - you'll take 10x longer and then you wont have time/energy for improvements once it's all finished.

    It's good to question the teacher because they are probably an idiot. Just like yourself, and everybody else on the internet. You can't take anybodies word for anything. We can all barely remember how to tie our shoes. You have to test out for yourself and see what really makes a difference that can be seen or not.
    idiot,

    its not wrong to ask questions about this kind of stuff, and it has nothing to do with insecurities. I want to learn and I've always come here as a place to learn.You don't know how I study and you don't see me in school so don't make assumptions. i always saw this forum as a great tool, and to reply the way you do in such a negative way speaks a lot.

    I have been an engineer for 10 years and understand that trial and error is one of the best ways to learn - but wanted to ask people who have years of experience to provide their thought. Show something of value to people who want to learn and you wont come off as a disgruntled blizzard employee.

    - an idiot
  • wavybabe_
    sacboi said:
    I'd recommend taking note of this snippet:
    Benjammin said:
    Don't skip learning the fundamentals, folks. If you can't precisely control topology when you need to, you won't get far. But if you know what you're doing, you'll learn when and where you can take shortcuts.

    heh - yeah. I dont take what I am learning for granted - I was just more wondering if the topology was good and then everyone said subd wasnt used very much. but I am really enjoying this class and taking in as much as I can. I cant wait to get to the level everyone here is at. :)
  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    who said it was a bad question? I'm not negative, I am making light of things - sorry you don't get the humor. 

    it seems the norm is for artist types to be critically insecure and for beginners in 3d to almost always get hung up on all sorts of "best practices" that they cannot understand because they are trying to understand contextual solutions without the context of the problem. Probably eons of time has been wasted by people chasing poles or trying to have perfect topology when they don't even know where it all ends up.

    the question is already answered as well as it can be. in most situations this wont be any issue. in odd cases where you run into an issue, the fix will usually be just a few minutes search and redo away. So it's not something to get hung up on and without a pretty specific problem it's difficult to suggest an alternative course of action. I mean, to do so you just end up in the trap of waffling away five hours on something that could have taken five minutes.

    Insecure doesn't mean "you are a weak little baby with mushy little baby emotions." any time you spend going back and forth in indecision on any decision that's an insecurity.








  • sacboi
    Offline / Send Message
    sacboi high dynamic range
    Nowhere does the OP say 'Subdivision', so why is everyone jumping to that conclusion, especially given the absolute lack of a subdivided shot?
    My bad.
    wavybabe_ said:
    I am really enjoying this class and taking in as much as I can. I cant wait to get to the level everyone here is at. :)
    Had a feeling the tute was an all round beneficial activity you'd engaged in - also don't be shy posting back with your finalized result as well, might just attract some insightful critique to further level, level up.







    On a side note, my HS specialty is military ordnance and AFAIK there's still a fair few Industry and Indie artists making stuff via high poly base mesh subd techniques. So off the top of my head namely Tim Bergholz, Tor Frick, Karol Miklas, Ben Bolton, Pavel Petrenko, Ilya Cherkasov and Frank Oczus, Jr (aka: @ FrankPolygon)

    Anyway I'll suggest when time permits browsing through their AS portfolios plus 80lvl articles for various hints/tips/tricks or basically ogling all the eye candy on display :#
  • wavybabe_
    Alex_J said:
    who said it was a bad question? I'm not negative, I am making light of things - sorry you don't get the humor. 

    it seems the norm is for artist types to be critically insecure and for beginners in 3d to almost always get hung up on all sorts of "best practices" that they cannot understand because they are trying to understand contextual solutions without the context of the problem. Probably eons of time has been wasted by people chasing poles or trying to have perfect topology when they don't even know where it all ends up.

    the question is already answered as well as it can be. in most situations this wont be any issue. in odd cases where you run into an issue, the fix will usually be just a few minutes search and redo away. So it's not something to get hung up on and without a pretty specific problem it's difficult to suggest an alternative course of action. I mean, to do so you just end up in the trap of waffling away five hours on something that could have taken five minutes.

    Insecure doesn't mean "you are a weak little baby with mushy little baby emotions." any time you spend going back and forth in indecision on any decision that's an insecurity.









    heh maybe i misread you - but it came off a bit negative to me. I appreciate your replies regardless. I do understand your thinking tho - and agree with not getting hung up on every little thing as there will be a point that it hinders the learning like you mentioned. And to kinda more explain my question wasnt if I was doing the right or wrong thing - but wondering if I am being taught bad practices as Ive seen negative outlooks on it. And I know that 100% I can fix the topology of this to make it flow a bit better (which I will eventually do).

    Insecurity has nothing to do with indecision tho, everything to do about a lack of confidence in oneself... so I don't think that it will apply here. But thanks again for the reply. I appreciate all help.
  • wavybabe_
    sacboi said:
    Nowhere does the OP say 'Subdivision', so why is everyone jumping to that conclusion, especially given the absolute lack of a subdivided shot?
    My bad.
    wavybabe_ said:
    I am really enjoying this class and taking in as much as I can. I cant wait to get to the level everyone here is at. :)
    Had a feeling the tute was an all round beneficial activity you'd engaged in - also don't be shy posting back with your finalized result as well, might just attract some insightful critique to further level, level up.







    On a side note, my HS specialty is military ordnance and AFAIK there's still a fair few Industry and Indie artists making stuff via high poly base mesh subd techniques. So off the top of my head namely Tim Bergholz, Tor Frick, Karol Miklas, Ben Bolton, Pavel Petrenko, Ilya Cherkasov and Frank Oczus, Jr (aka: @ FrankPolygon)

    Anyway I'll suggest when time permits browsing through their AS portfolios plus 80lvl articles for various hints/tips/tricks or basically ogling all the eye candy on display :#

    One of my old friends actually went to Full Sail for game development and has now been full time modelling military ordinances. I mean shit could be you!
    I actually follow frankPolygon and his thread on here and have learned A TON from his stuff... hes insanely good at providing great practical lessons and feedback. I will definately look up the rest.

    And I will 100% post the finished product :D

    thanks sacboi!
  • wavybabe_
    also - here is my progress right now. I am following the class exactly for the most part (I did end up cleaning some topology on the left side).
  • sacboi
    Offline / Send Message
    sacboi high dynamic range
    Nice!

    Mainly, WW2 tanks are my thing and way back when I was slightly younger  ; ) had volunteered to both maintain and restore a few examples at a local armored vehicle museum. Guess the bug bit deep hence has translated into depicting them artistically, well kinda... :p    
  • Ghogiel
    Offline / Send Message
    Ghogiel greentooth
    My only critique would be hoping you blocked in all the major shapes for the controller. If all you have is the front of the controller without the handle parts blocked in and you went onto do the support loops etc for the front therte, i'd say you are missing a step. It'll probably work out in this case because you are following along it appears, but if you have to just go into a curvy hardsurface model blind, i'd recomend making a decent block out before you do much if any support loops or things like cutting in button holes into the main surface of the mesh.
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    "Im just confused to how this fits into a current 3D game modelling pipeline if at all"

    That's probably the most important part to clear up isn't it ?

    Let's assume that the end goal is an in-game asset indeed. Well, there are many ways to get there, the main two for detailled and realistically shaded games being :

    A : a dense, raw mesh capturing all the details in geometry, and textured in a very straightforward way. You'll see this in high end simulators, some scifi games (Alien Isolation, Death Stranding), and overall in titles requiring somewhat of a clinical look. Of course I am simplifying here but you get the idea. It can be especially appropriate for large assets ; and of course it used for every single game environment out there for buildings, large structures, and so on.



    B : a less dense ingame mesh, with its shading altered by a normalmap capturing the surface information from a highres source created just for that purpose. This source is referred to as "the high", and can be built with any appropriate technique - raw geo, subdivision mesh modeling, CAD modeling, freeform sculpting, and any combination of these.



    You are currently following approach B.

    The model you are currently showing us is a "high", built specifically here as a subdivision model. To get to a final game asset you'll also need a "low", which will receive the surface information of the "high" as a normalmap (and a few other passes). So in this case it can make sense to start from the high, since the subdivision cage you are building is also 80% close to a good "low" for the actual ingame mesh. So you are in essence doing two steps at the same time. Your work on the low will simply consist of taking a copy of your subdiv cage at level0 and tweaking its geometry as needed - perhaps adding edges for a smoother silhouette, and removing unneeded internal geo when not useful, for it to have just the right amount of necessary detail.

    Now it would also have been possible to start by doing the final low right off the start, and then using that as a base to create a subdiv version just to source the smooth surface data. The advantage of this reverse approach is that if production is in a rush, and you have no time for endless subdiv/sculpting, you have your final game mesh ready early, and you can also choose to only do a high for the parts that really need baking and leave the rest as "raw" shading. The disadvantage is that you won't have a "pretty" subdiv render to show early on and sign off, and depending on the kind of AD you are working with it can be an issue.

    And as said there are plenty of *other* ways to get to the end result, some of which may even be more appropriate for something like this gamepad asset, mostly depending on art direction. But that's irrelevant really since the actual goal of the teacher here is clearly to teach the "low + subdivided high as used in Fortnite" approach in general, and not to teach "the best way to make a game asset of a realistic gamepad" in particular.

    Lastly and as mentionned by some people above, it still would have been faster to start with a roughly put together blockout, using booleans and regular modeling - As this could then serve as solid base guide for both the high and low.

    Now all that said the above apparently not being explained clearly at the beginning of the class is somewhat worrisome.
  • Ghogiel
    Offline / Send Message
    Ghogiel greentooth
    Recently I've seen what are subd meshes, support loops and all, with a couple levels just collapsed onto it, thrown straight in as UE nanite. You think you are looking at a few k tris, but it's 300k tris for a mildly interesting lamp post or something. Feels wrong, but honestly not even sure how wrong it is these days and I might just be being stubborn or ignorant. So maybe there is or soon will be an option C
  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    the engine might be able to handle it but you still have to pass these heavy ass assets around and deal with them. and the user has to download them.

    i think being dogmatic about "doing things the hard way" is just as dangerous as being a lazy-ass but to me that seems most likely like it's just being lazy. Like you see on marketplace "nanite mesh!" and it's just a raw scan. It could have 1/10th the resolution and still look fine.

    if all the geo is making a difference and it saves more memory than a normal map then that is the point of nanite. and sometimes doing sloppy work to get something nice looking fast makes sense to. But yeah a billion triangles for a lamp just seems like somebody is doing 3d but they dont actually like doing 3d that much.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    the amount of information in the assets is somewhat irrelevant with nanite - as far as I can ascertain you're only ever loading what's drawn on screen and thus your resource and render cost is tied to screen resolution rather than the asset itself.

    that said .. having a buttload of geometry does lead to a larger package size on disk and that's not good for the customer  - i don't want a half terabyte download  when I buy a game and neither does anyone else. 


Sign In or Register to comment.