Home Digital Sketchbooks

Sketchbook: Frank Polygon

insane polycounter
Offline / Send Message
FrankPolygon insane polycounter
I'll be using this sketchbook thread as a place to warehouse write-ups that wouldn't really fit anywhere else. Most of the content will cover concepts and fundamentals related to hard surface modeling with some broader commentary on the creative process.


  • Hoodelali
    Your teaching is very pedagogic and truly awesome, you always take the time to write detailed answer with amazing schematics in the topic "How the F# do I model that", will this thread be a repository of all those sweet detailed pictures/explanations you've posted there ?
  • FrankPolygon
    Offline / Send Message
    FrankPolygon insane polycounter
    @Hoodelali Thank you.

    Most of what I intend to post here is new content that covers broader concepts with more of an emphasis on the how and why behind it all. Some of this content will be very niche hard surface, mechanical and fabrication stuff and how that ties into creating art. There will also be some general art process stuff that I think is worth sharing. The more technical stuff will be very image heavy and I've been considering doing some of that content as video (maybe audio) but it really depends on how it all works out and what people are interested in. Organizing links back to the existing write-ups so it's easier for people to find and share what their interested in will be a part of this thread but it will be one of the smaller parts.
  • Hoodelali
    Understood, thanks for the detailed answer ! Can't wait to read what you'll post here !
  • FrankPolygon
    Offline / Send Message
    FrankPolygon insane polycounter

    Subdivision modeling: process optimization, order of operations and flat surface topology.

    Process optimization is an important part of skill building and taking the time to evaluate the underlying assumptions that drive your modeling strategy can help improve both the efficiency and quality of your modeling process.

    Below is a visual overview of a simple modeling task. Fill the cap between two cylinders that have different segment counts and add support loops to create a subdivision ready cage mesh. How much time and effort it takes to complete this simple task will depend on the modeling tools and strategies used.

    The following example is a modeling process that's driven by a lot of common preconceptions and assumptions. Here's a breakdown of the rational behind this process and a summary of how the model was created.

    Subdivision modeling implies that the cage mesh needs to be all quads with even grid topology to avoid smoothing artifacts. Starting with fixed topology suggest that everything needs to be manually joined together to create the perfect edge flow. Edge extrusion modeling extends the existing topology so it will be the fastest way to fill in the cap. Loop cut, fill and connect are basic operations that provide granular control of the topology layout phase of the process.

    Modeling process 1 (≈ 48-62 individual operations.)
    • Extrude upper outer diameter support loop.
    • Extrude upper inner diameter support loop.
    • Fill radial segment - 12x.
    • Cut lower outer diameter support loop.
    • Cut low inner diameter support loop.
    • Join inner diameter support loops as quads - 42x. (Alternate: select and fill as quads - 30x.)

    This modeling process relies heavily on a brutally straightforward approach that uses a very limited selection of modeling tools and a strategy that follows whatever trajectory feels right in the moment. There's a significant amount of time spent on repetitive modeling tasks and the misconception that everything MUST resolve into quads to be subdivision ready only compounds this problem. What follows is a look at whether or not the previous assumptions created artificial limitations that generated unnecessary complexity.

    Modeling process 1 technical parameters:

    All quad geometry - Unless there's a specific technical limitation that absolutely requires the cage mesh be all quad geometry there's generally minimal benefit to manually adjusting the topology to create it. Simply subdividing the cage mesh will make it all quads. If quad grid topology is required for other process (like detail sculpting) then using automatic quad re-meshing tools is a better approach. The assumption that all subdivision cage meshes need to be quad grids is something of a misconception and in this case it's an artificial limitation.

    Fixed segment counts - Part of the block out process is figuring out how much geometry will be needed for subsequent modeling operations. There will be situations where it's either impossible or impractical to plan for all additional details and in these situations the base geometry will become a limiting factor. This is a realistic technical limitation and it's important to build an understanding of how to work around issues caused by having a limited amount of geometry to work with.

    Manual topology routing - There are certain cases where manual topology routing is necessary but unless the automatic tools have failed to create usable topology there's no real benefit to manually creating all of the topology flow. Sometimes there's a tendency to assume that creating every face and placing every support loop by hand improves the quality of the mesh but reality is this is just needless busy work and this behavior should be avoided whenever possible.

    Edge extrusion modeling - Basic manual modeling tools can be used to accomplish a wide variety of tasks and tend to have a high degree of granular movement control but that doesn't mean they are always the best tools for the job. The biggest drawback to using these tools is it can be difficult and time consuming to maintain consistent edge width. More complex tools can be used to place support geometry and automatically maintain a consistent edge width. This will improve both the process efficiency and visual quality of the model. Improving the edge width consistency tends to improve the readability of the shapes and helps provide a clean, professional look.

    With the exception of fixed segment counts, most of these assumptions introduced artificial limitations that negatively influenced the modeling process by narrowing the tool selection and increasing the number of manual operations. If edge extrusion was the method of choice then it would be much better to extrude the inside and outside segments to form the support loops then fill the faces between them.

    The only really important part of the topology is the support loops on either side of the outer bounds of the main shapes. Flat areas are largely unaffected by changes in topology so it makes more sense to average out the the differences between the segments there rather than in the support loop around a key shape transition. With this broader context that's now backed up with experience gained through experimentation it becomes more obvious that the only real constraint here is the starting geometry. The rest of the process is open to interpretation.

    The following example is a modeling process that applies what was learned by removing unnecessary limitations, expanding the tool selection and adjusting the order of operations. Here's a breakdown of the rational behind this process and a summary of how the model was created.

    Modeling process 2 technical parameters:

    Fixed segment counts - In certain situations the underlying topology will be a limiting factor that determines how much geometry is available to work with. In these cases the fixed segment count of the inner and outer diameter is the only true limitations here.

    Abandoning the previously mentioned preconceptions means it's possible to explore new ways of approaching the problem of connecting two support loops with different segment counts. Thinking about what's actually important and what tools are available will help identify more efficient ways of adding the support loops around the shapes.

    Modeling process 2 (≈ 3-5 individual operations.)
    • Fill half cap - 2x.
    • Bevel / chamfer outer and inner diameter to add support loops.
    • Add edge between inner and outer support loops on the cap - 2x.

    Changing the order of operations and tools used means it's possible to add most of the support geometry in a single step and all of the newly added support loops will have a consistent width. The flat area between the two support loops around the inside of the cap is used to absorb any major topology changes without causing any major smoothing artifacts. Not only does this modeling process ensure that potential shading issues are minimized but there's also the added benefit of having a simplified mesh that's easier to work with.

    In most cases: the important topology layouts are around the shape boundaries and are made up of the support loops that hold the shapes. Whatever happens on the flat surfaces is often irrelevant. Trying to resolve all of the intersecting edge loops into quad geometry doesn't improve the smoothing results and (in this case) would only add unnecessary complexity.

    That's not to say that it's unimportant to be aware of how the underlying topology effects subdivision smoothing behavior or to just ignore technical specifications when situations call of quad grid topology. Instead the message is that, in most cases, a few triangles here and there is a moot point if they aren't causing any major subdivision smoothing artifacts. Along similar lines: N-gons can be especially useful since they make the mesh easier to work with and when used correctly they have virtually no downsides compared to mixed quad / triangle topology.

    The most important takeaway here is the most important geometry is the edges that define the shapes and the support loops that back up these shapes.

    Below is a sample of a variety of topology strategies that all produce similar results. Double looping isn't always necessary but it can be helpful on large flat surfaces where the distance between support loops is quite wide. It's also worth noting that there's practically no distinguishable difference between the all quad geometry and the mixed triangle topology when it's used on a flat surface. This isn't an exhaustive list of all the possible topology combinations but it illustrates the point.


    Taking time to evaluate the assumptions that drive the modeling process is an important part of skill building. Automatically following popular modeling mantras (without evaluating the broader context behind the how, when and why) can introduce unnecessary process restrictions that tend to lead to extra work and excessive complexity.

    Evaluate whether or not these assumptions introduce artificial limitations and experiment with different tools and order of operations to identify simpler and more efficient ways to model the underlying shapes.
  • Whoolkan
    Offline / Send Message
    Whoolkan polycounter lvl 4
    great insight on some modeling practices. sometimes i have a hard time making details work on curved surfaces without having shading distortions, it's always good to know some extra tricks
  • Nominous
    Offline / Send Message
    Nominous polycounter lvl 7
    Great posts, Frank. :) Your last post reminds me that I need to embrace how subdivision is just an approximation and use more shortcuts to model faster. I've avoided Blender's bevel modifier like the plague since I obsess over perfectly straight support edges when, in hindsight, wobbly support edges aren't really noticeable after they're subdivided and especially after texturing.

    Are you using 3ds Max in your screenshots btw? I had to add a bevel weight to those bottom two diagonal edges connecting the cylinder to the cuboid in Blender since its bevel modifier doesn't support both sharp and arc outer miter types at the same time.

    Also, an important question: do you model the high poly base mesh and the low poly model at the same time in order to have most (like 80%~) of the low poly done right off the bat? I can see a significant advantage of using the bevel modifier instead of manual support edges in that there are much less support loops to remove for the low poly as opposed to using manual support loops.
  • Hoodelali
    Extremely useful and very well detailed, you're doing an amazing job 🔥 please continue! 🙏
    Thanks a lot for your hard work ❤️
  • Jackskullcrack
    Offline / Send Message
    Jackskullcrack polycounter lvl 2
    I'd very much like to see you do some tutorial videos or perhaps a live stream at some point so we can see your process in real-time.
  • ant1fact
    Offline / Send Message
    ant1fact polycounter lvl 8
    Hi @FrankPolygon
    Would you consider selling some kind of 3d reference package of these subd examples that you have made over time? as .blend or .obj? Thanks
  • wirrexx
    Offline / Send Message
    wirrexx polycounter

    Subdivision [Saturday] Sketch: Camera rod clamp and rosette.

    [Trying a new content format with more images and less text.]

    Here's a basic overview of my hard surface subdivision modeling process. Most of the support loops are added with a bevel / chamfer modifier and can be adjusted at any time.

    The support loops around some of the smaller shapes and fine details on some of the parts required limited manual adjustments. In those cases the bevel / chamfer modifier was applied and the mesh was adjusted.

    Only the body of the clamp and the head of the flag screw have manual support loop edits. All key features are modeled to scale in real world units.

    Top row: shaded subdivision preview.
    Middle row: wire frame subdivision preview.
    Bottom row: base meshes with the bevel / chamfer modifier support loops turned off.

    Here's the modeling process for the rosette and small screws. Start with primitive shapes and add details with inset operations, using real world scale and incremental snapping.

    The teeth on the rosette were created by making a single tooth and spin duplicating it in a circle. Screw holes are added with simple boolean operations.

    Both the rosette and the screw have support loops generated by active (editable) modifiers.

    Here's the modeling process for the body of the clamp. It starts with primitive shapes and edge loop sketches made to real world scale.

    Connecting geometry is created with single click automated bridge and fill operations. Minor details are added with inset operations and boolean subtractions. Support loops are generated with bevel / chamfer and inset operations.

    Minor topology adjustments are made after automated edge loop placement. Triangles and n-gons are used to simplify the modeling process. Since they aren't causing any major smoothing issues there's marginal benefit to resolving the topology to all quads.

    hey Frank, love theses!!
    One question, the first picture with the spilnes (maybe nurbs?). You use it as a guide to fill in the missing polygons by hand or do you close it automatically? if then, how?

    Keep up the great work!

  • wirrexx
    Offline / Send Message
    wirrexx polycounter
    @Jackskullcrack Thank you for the feedback. Workflow related video content is something I've done in the past and will probably try adding again sometime in the future. That type of content tends to require a significant level of commitment and it's something I'd like to do in a way that provides viewers a meaningful way to interact with the discussion and ask questions but in the past moderating comments has been an issue. Video platforms tend to have a different audience so it's very likely any future video content will just be unlisted and posted here.

    @ant1fact Thank you for the feedback. I'm currently reworking my gum road content and topology samples are something I'll be adding there. Once the content refresh is complete I'll add that page to the rest of my links.

    @wirrexx Thank you. The highlighted lines in the first picture are just raw verts and edges generated by flat primitives. They're used in a way that mimics the sketch feature in Fusion. This makes it easier to figure out where everything needs to be before committing to certain shapes.

    Fill in geometry is automatically generated by using face fill selection, grid fill or bridge operations. All of the face geometry is automatically generated from the n-gons using triangulation and quadrangulation operations. Every operation is tied to a hotkey or macro button so the whole process only takes a couple keystrokes and selections.

    Here's what these steps look like, starting from the highlighted edges in the previous image. Order of operations is important to reduce the amount of clicks but there's no hard and fast way to go about filling everything in. The n-gons on the sides could really be left in until after the support loops are added with modifiers but the compound rounding on the corner does need to be filled by triangulating and quadrangulating the large n-gon.

    The actual corner is rolled over with a belt sander in a couple of different directions so it's not perfectly spherical and the shape was a good excuse to use triangles and n-gons in an unexpected way. If the shape was perfectly spherical the geometry would be slightly different.

    This is something that will be covered a bit more in a future post about making revisions to existing projects.
    You’re awesome thank you!
  • dixi
    Offline / Send Message
    dixi polycounter lvl 8
    Hello. I, too, like you, am a researcher of subdives, and I have my own theory about this. Unfortunately, I do not know English, and I translate this text using google translator, so I cannot fully convey the technical terms of my subdivision theory. But, I can point out the main elements that are not correct for you from my point of view.
    1. You admit the presence of n-gons in the topology.
    2. You use a lot of tris instead of avoiding them.
    3. You create many edges that go very close to each other, thereby increasing the density of the topology in this place, which is bad for the uniformity of the mesh.
    I hope Google translated what I wanted to say correctly.
    I am a supporter of the correct topology:
    1. N-gons are prohibited.
    2. Trises are allowed but should be avoided.
    3. The entire mesh should be uniform, without tension, without tightly spaced edges, etc. I know that in most cases, this is difficult to do, but you should strive for it.
    Thank you for listening to me.
    Good luck.
  • FrankPolygon
    Offline / Send Message
    FrankPolygon insane polycounter

    Subdivision modeling: block outs and incremental progression.

    Drawing is a creative process that most people encounter quite early on so it's often appealing to try and draw parallels between the initial rough sketch used to develop a finished drawing and the block out mesh used to develop a finished model.

    Taking this simple analogy at face value tends to overlook how sketches can be more than just a framework that guides the creation of the finished drawing. Sketching is also something that tends to happen throughout the entire drawing process. Sometimes it happens above the paper and sometimes it happens on the paper. This is repeated throughout the drawing process until more and more of the initial sketch is lost to incremental progression. The transitory nature of sketching, along with the rough sketches (test samples) actively discarded along the way, tends to suggest that block outs can also be treated as purely disposable elements.

    The idea that the block out is only used to establish proportions then is thrown away is problematic because: at best it undersells the importance of a process that helps solve shape and topology issues before they become major problems and at worse it reinforces the idea that the process is some kind of redundant work that only needs to be done to tick another box. This overly simplified view of things can make it tempting to skip over the block out process to save time.

    While block outs can be used like rough sketches, to establish forms, check proportions and test out different ideas, they can also have a more direct role in defining the quality of the finished product. Skipping over the block out or only using it during the very beginning of the modeling process often leads to situations where unnecessary complexity ends up causing problems that burn up more time than was initially saved.

    Blocking out the base [cage] mesh is important because it's a lot easier to get the shapes and basic topology flow right without all of the support loops and excess geometry in the way. Support loops and topology layouts are important but they won't really matter if the underlying shapes are so inaccurate that the final mesh doesn't look anything like the concepts or references.

    Creating a block out may not be the most exciting thing in the world but jumping into a model without having a clear idea of what the shapes are and how the topology will flow often results in creating an unnecessarily complex mesh. All of this added mesh complexity often makes it difficult to join shapes, route topology and (most importantly) make changes to the model.

    Here's an example of a typical modeling workflow where the block out process stops after the basic outline of the shape is created. Support loops are added right away and the rest of the model is created with a subdivision modifier active. A lot of time and effort goes into manually placing and straightening support loops to provide space for additional surface details. All of the details are added with basic modeling operations that preserve the underlying quad topology.

    The result is an all quad mesh that doesn't require any major cleanup but this approach also tends to generate a dense topology that locks in the shapes and makes the mesh difficult to edit. Shortening the block out process did save some time but it also means that if any major smoothing issues appear or if any major change requests are made then it's very likely the entire model will have to be reworked.

    Here's an example of a modeling workflow where the block out process extends well into the addition of minor secondary surface features. Editable modifiers make changing most of these surface details a non-issue but even if this wasn't the case the incremental progression of the block out makes it easy to roll back to a previous iteration and make changes without having to redo a lot of existing work. Most of the time and effort in this example is focused on the creation of accurate shape details to match the references. Only once the shapes are correct is any time spent managing support loops.

    That's not to say that support loop topology isn't important. It is. Instead the idea is that the underlying shapes will determine what the support loop topology needs to look like so it's more effective to manage the basic shapes first then the support loop topology second.

    Keeping the mesh relatively simple and progressively adding details before adding support loops (generated by modifiers and a couple of inset operations) means that any change requests can be handled before a significant level of mesh complexity makes changing the shapes a lot of extra work. Waiting to add additional support loops until after the block out model is approved reduces the risk of having to rework a significant portion of the model to accommodate even relatively minor changes.

    Both modeling process produce usable results but there are subtle differences in overall surface quality. The model created with a limited block out phase suffers in a couple of places where the underlying topology had to be deformed to accommodate the serrations while also maintaining quad geometry. However this minor quality difference shouldn't be the primary focus. The major difference here is the amount of additional time and potential risk for rework that can accrue when skipping over or shortening time spent on the block out.

    It's often helpful to think of the block out as more of an extended process of establishing the shapes that make up the major forms while also developing the underlying geometry. Time spent resolving shape and topology issues early on in the modeling process is often paid back later when the mesh complexity starts to increase. Making major changes to a simple but accurate base mesh is much easier than trying to re-route a bunch of extraneous edge loops around additional shape intersections or surface details. This is why it's important to work through the block out phase and really nail down the major shapes before adding all of the support loops.

    For those interested in some additional reading on the topic: shape analysis is another important part of the block out process that's covered in this write up: https://polycount.com/discussion/comment/2745166/#Comment_2745166

    Avoid jumping into a subdivision model without doing some level of planning. Block outs can be used to experiment with different forms and topology layouts but they're also an important part of the modeling process. Often the final quality of the subdivided mesh is directly influenced by the quality of the shapes that were created while blocking out the base mesh. Incremental progression also helps reduce risk by creating regular opportunities to evaluate and change the model while also generating iterative states to fall back on if major changes are required.
  • FrankPolygon
    Offline / Send Message
    FrankPolygon insane polycounter

    Subdivision modeling: mesh complexity and shape accuracy.

    Modeling hard surface objects with more organic surface features, like stamped metal parts and castings, can be challenging because of the complex compound curves and the odd combination of hard and soft shape transitions. When working on these types of models it can be helpful to block out the major forms of the complex compound curves with a relatively simple cage mesh then apply the subdivision to lock in the shapes and provide support for smaller surface features.

    While this strategy of incrementally applying subdivision to a model with a lot of complex compound curves does tend to work well, one thing to avoid is applying too high of a subdivision level too early in the modeling process. Subdividing a mesh beyond the minimum amount of geometry needed to hold the shapes tends to introduce a lot of unnecessary mesh complexity. Which can make it difficult to adjust the larger shapes without generating slight undulations in the subdivided mesh.

    Over subdividing the mesh can also make it difficult to add larger secondary surface features without having to add or reroute support loops. This can be especially problematic when the additional support loops deform the underlying surface or significantly change the segment spacing of a curve on the larger shape. These extra support loops often generate undesired creasing or pinching elsewhere on the curve of the larger form and it can be extremely difficult to manually even out the curvature.

    Below is an example of what the modeling process can look like when too much subdivision is applied to the basic shape. Though most of the larger forms on the tank are correct, applying the subdivision too early has made it difficult to adjust the mesh in a way that effectively creates some of the secondary shapes where the sides of the tank curve inwards. This unnecessary mesh complexity also tends to actively discourage fully exploring some of the finer shape transitions and can push artists to try manually carving the details into the larger shape.

    While there are some cases where it's necessary to model sharper raised or depressed panel lines (welds, gaps, bead rolls, coining, embossing, etc.) most deep shapes formed in a single sheet of metal have very soft, gradual shape transitions. With traditional metal forming, extremely sharp or harsh shape transitions on pressed metal objects tend to indicate spots where multiple parts have been joined together. Too much harshness in the shape transitions can give the model a different appearance or surface read from the actual object.

    When modeling hard surface objects with soft compound curves it's important to analyze the reference images and establish realistic transitions between the primary and secondary surface forms. Gather good reference images that show the object from multiple angles and under different lighting conditions then study how the shapes flow into each other.

    Below is an example of what the modelling process can look like when less geometry is used and the mesh topology is kept relatively clean and simple. Start by blocking out the major forms and only apply the subdivision when it's absolutely necessary to support the shapes. Keeping things as simple as possible for as long as possible tends to make larger shapes easier to work with.

    Try working in some of the secondary shapes earlier in the block out process and carry that simplicity over into the base mesh. This should help reduce the overall complexity of the cage mesh. It can also be helpful to deform some of the edge loops on the base mesh so the underlying topology will fit around the shapes in the references. This will make it easier to add surface details without having to use a lot of complex boolean operations.

    The closer the shapes are to what's in the references, at the lowest possible subdivision level, the easier it should be to add additional details to the curved surfaces later in the process. Spend the time refining the shape of the curves at the lowest level that makes sense then work up from there while keeping things as simple as possible.

    Avoid the assumption that a dense or complex mesh is an accurate mesh. Mesh density does tend to increase the quality of a subdivided surface but the position and form the underlying geometry is what really determines the overall accuracy of the mesh. Poorly constructed shapes that don't match the reference images or are inconsistent won't be improved by increasing the mesh density.

    In fact there's a lot of situations where arbitrarily increasing the mesh density can actually introduce more issues than it solves. Representing as much of the surface shapes as possible at the lower levels will also help keep things relatively simple. When to add additional subdivision levels or support loops will depend entirely on the complexity of the shapes / details that need to be added, as well as where it all falls in the overall modeling process.

    Take the time to gather quality reference images. Study these reference images and if necessary draw over them to highlight important shapes and shape transitions. Carry the block out process as far as it needs to go to accurately develop all of the shapes. Avoid over subdividing the mesh and trying to manually carve or batter surface features into shape. Start with a relatively simple mesh and use the appropriate amount of geometry to hold the shapes. Let the subdivision do the work of filling in the geometry and smoothing the shapes.
  • KebabEmperor
    What camera rig is this exactly ? I want to give it a try as well. Looks like a good practice. Couldnt find the name

  • pixelpatron
    Offline / Send Message
    pixelpatron interpolator
    Incredible stuff happening in here. Where were you when I needed you in 2015!?
  • dlz
    Offline / Send Message
    dlz polycounter lvl 4
    I'm glad I encountered that thread! All the processes are very illustrative, well described and I value a lot that you explain the benefits and the reason for each process.
  • pignaccia
    Offline / Send Message
    pignaccia polycounter lvl 10
    pure pornography! thx
  • jeanfree
    Imagens boas. Tem tutorial?
  • HAWK12HT
    Offline / Send Message
    HAWK12HT polycounter lvl 9
  • SnowInChina
    Offline / Send Message
    SnowInChina greentooth
    nice clean work
  • dopamine
    Offline / Send Message
    dopamine polycounter lvl 4
    This is the most precious thread which I read on this site.
Sign In or Register to comment.