Home Technical Talk

How The F*#% Do I Model This? - Reply for help with specific shapes - (Post attempt before asking)

Replies

  • FrankPolygon
    Offline / Send Message
    FrankPolygon grand marshal polycounter
    @praba_art Welcome to Polycount. Consider checking out the forum information and introduction thread.

    Try blocking out both shapes before connecting them and use the existing geometry in the curve as part of the support loops around the base of the intersecting cube. That way the support loops on the intersecting shape can flow directly into the edges of the underlying curve without disrupting the segment spacing.

    Here's a quick overview of what that could look like.



    Below are a couple of links to other write-ups that cover relevant topology routing examples in greater detail:
    https://polycount.com/discussion/comment/2803911/#Comment_2803911
    https://polycount.com/discussion/comment/2769713/#Comment_2769713
  • praba_art
    Thank you so much Frank Sir ! Thanks for your overview. Subdivision is overwhelming , Thank you for sketchbook references a big help for beginners like me . Also will defenitely read forum information, Thats my fault. Thanks once again. Now lemme see what i can do.

  • hayunchooi

    Can you explain how to have a clean side? I've read all the references, but it's not easy
  • FrankPolygon
    Offline / Send Message
    FrankPolygon grand marshal polycounter
    @hayunchooi Welcome to Polycount. Consider checking out the forum information and introduction thread.

    The really short answer is: there needs to be enough geometry in the larger curve to support the smaller details cut into it. How much more geometry is required really depends on the tools and order of operations used to create the model. 

    It's generally considered best practice to adjust the number of segments in both the underlying curved surface and the intersecting shape until the edge segments in both roughly line up with each other. That way the edges that make up the curve have consistent spacing and can also be used as part of the support loops around the intersecting shape.

    Over the last few pages there's a couple of brief discussions about how to cut out details on curved surfaces. Even though the shapes are slightly different the basic principles discussed there can also be applied here.

    https://polycount.com/discussion/comment/2807099/#Comment_2807099
    https://polycount.com/discussion/comment/2803553/#Comment_2803553
    https://polycount.com/discussion/comment/2790736/#Comment_2790736
    https://polycount.com/discussion/comment/2790602/#Comment_2790602

    Even further back in the thread there's a longer discussion about how to approach modeling this exact shape. So definitely check out the different solutions proposed there. A couple of them use very lightweight meshes and still produce good results.


    There's also a more in-depth write-up here that covers breaking the shapes down into radially tileable segments.

    So lots of different ways to approach the modeling part. The basic shapes and topology routing can be done on a flat strip then bent into a curve.



    Or everything could be done directly on the surface of a cylinder primitive with more geometry.


    What most of these examples have in common is the segment spacing on the curves is kept fairly consistent. Which helps prevent shading artifacts caused by unwanted surface deformation when subdivision smoothing pulls unsupported areas out of shape.
  • Andrush

    Hi everyone. I’ve got a mid-poly model for a game. A simple panel with a recessed center part. I’m using weighted normals modifier, so vertex normals on the large faces set perpendicular to the surface, and the shading looks clean with no artifacts.

    Given that, does triangulation actually matter here? I’m mainly concerned about the center area. I made a couple of triangulation variants — which one would be best? (For the sake of clarity, I did not triangulate the entire model.) I would be grateful for any advice.


  • Eric Chadwick
    None of them are problematic really. Any of these would be fine on today's hardware.

    If I was being super nit-picky, I would lean towards D, just because the corner triangles are evenly-sized. Some renderers don't like long thin triangles. Simon Schreibt explains a bit of the "why" here: https://simonschreibt.de/gat/renderhell-book3/

    But you can remove those new outer edges you added to D, that aren't in A/B/C.
  • Andrush
    None of them are problematic really. Any of these would be fine on today's hardware.

    If I was being super nit-picky, I would lean towards D, just because the corner triangles are evenly-sized. Some renderers don't like long thin triangles. Simon Schreibt explains a bit of the "why" here: https://simonschreibt.de/gat/renderhell-book3/

    But you can remove those new outer edges you added to D, that aren't in A/B/C.
    Thank you for the reply, that’s exactly what I wanted to understand. I removed the unnecessary edges - hopefully everything is correct now.




  • okidoki
    Offline / Send Message
    okidoki interpolator
    I do not know the real use case but what i'm questioning myself is: maybe only a normal map is "enough" for this inner kind of detail ?
  • christrom
    Offline / Send Message
    christrom polycounter lvl 3
    Hi everyone. I wanted to do a practice piece so I'm trying to model a wheely bin. It isn't glamourous in the slightest, but as it is moulded out of one piece I figured it would make for a challenge. I recently learned about sub-D corner topology so wanted to practice this too.

    I would imagine this as a film asset, but wanted to balance detail and topology. I do see a lot of conflicting information about mesh density, particularly those who try to keep the mesh even with quads to help UV deformation, and those who keep it more sparse, so I'd be interested in your input.


    I think the lower density here is pulling the edge loops a bit but it does hold when smoothed. Would you add another holding edge?


    Side view. I think too many holding edges running along the horizontal area outlined in red?


    And finally the handles. So, I've tried to do the proper corner holding, but it was starting to cause some pinching  as the area underneath the handle slopes towards the middle like a dish. 


    Any input would be appreciated, brutal or otherwise. I am not a professional modeller, but always trying to learn. Thanks very much.
  • Eric Chadwick
    Most modelers on Polycount are making sub-d assets for game use, to bake a normal map onto a lower-resolution in-game model. With that in mind, adding UVs to the sub-d model is not needed, because it's just being used to bake geometry/shape info (normal map, curvature, AO, etc.).

    For game baking, it doesn't matter to have extra detail (or less detail!) in the sub-d model. If it bakes fine, then it's done! We have some tips on our Wiki about this. http://wiki.polycount.com/wiki/Normal_Map_Modeling#Modeling_The_High-Poly_Mesh
  • christrom
    Offline / Send Message
    christrom polycounter lvl 3
    Thanks for the input Eric, I'll have a good read of those threads, although I do prefer modelling for offline rendering.
  • Andrush
    okidoki said:
    I do not know the real use case but what i'm questioning myself is: maybe only a normal map is "enough" for this inner kind of detail ?

    As far as I know, it depends on the size of the model. If it’s a large mid-poly object, it’s often textured using tiling textures and masks instead of unique texture maps  in order to achieve higher texel density.

    Another reason is VR projects, where it’s generally better to rely on actual geometry.

    I’ve also noticed that in Unreal Engine 5 projects, even relatively small objects with these kinds of indentations are sometimes made using geometry. However, I’m not sure how justified this approach is or what the optimal workflow is for Nanite assets.

  • Eric Chadwick
    christrom said:
    Thanks for the input Eric, I'll have a good read of those threads, although I do prefer modelling for offline rendering.

    Well, for offline then nitpicking on amount of edge loops really doesn't matter, it's all about the end render(s). You will be rendering the same thing multiple times, daily after daily, client after client, etc. So some level of optimization helps a bit. But if it pushes you over budget, it's a waste of effort.

    So really, what does this asset look like with materials, lighting, rendering, moblur, and compositing? I'd say judge your modeling in that light, not in some isolated shaded-wireframe way. My 2 cents.
  • FrankPolygon
    Offline / Send Message
    FrankPolygon grand marshal polycounter
    @christrom It looks like you're headed in the right direction. Like Eric already mentioned, what you have would be fine for baking in most high to low game art workflows.

    As far as a light technical critique of the model and topology: if the goal is to create accurate, detailed high poly assets with a relatively even polygon distribution and all quad geometry, to both maintain the visual quality of surface reflections and minimize UV distortion, then try to minimize the number of poles on the curved surfaces or at least keep them as close as possible to the support loops, while also maintaining relatively consistent segment spacing between the edge loops that make up the underlying quad grid.

    With the current topology layout there's a lot of excess loops bunching up on the hinge side of the lid and there's a rather large area towards the front that's a bit sparse in comparison. Abrupt changes in segment spacing like that will often produce pinching and stretching artifacts. So try to keep the loops a bit more evenly distributed. There's also a lot of E poles clustered together near the handles which would likely produce some unwanted undulations in the surface reflections.

    There's a few different ways to approach modeling something like this but it probably makes sense to minimize the complexity as much as possible and start with a shape first approach to the block out then work through solving any major topology flow issues before trying to deal with all quad routing for the rest of the smaller support loops that sharpen the edges of the shapes.

    A lot of bin lids have a slightly convex surface, often with protrusions and blended curves, so defining the primary forms with a basic cage mesh would probably be a good place to start the block out. Check to make sure all of the larger primary forms are accurately represented and subdivide cleanly then apply one or two levels of subdivision. Just so there's enough density to support the larger secondary forms.

    Simplify the base mesh using edge dissolves to clean up any excess geometry, as required.

    Cut in the larger secondary forms that intersect the primary forms in the outer profile of the lid. Redirect the loop flow around the shape intersection and try to resolve it to all quads while minimizing unwanted surface deformation. Try to minimize the number of poles and keep them as close to the inner and outer support loops as possible.



    Once the larger secondary forms are joined to the underlying primary forms, start adding the smaller secondary forms that interact with the larger secondary forms and underlying primary forms.

    If there isn't enough geometry to support these smaller secondary shapes then it may be necessary to cut in additional loops or apply another level of subdivision, either in the previous block out stage or the current one, whichever produces the cleanest result without making the base mesh too dense to edit efficiently.

    If the smaller secondary forms can be joined to the larger secondary forms and the underlying primary forms, then continue adding details without increasing the mesh density.



    Try to use the existing geometry in the primary forms as part of the inner and outer support loops around the secondary forms. Simplify the mesh as required but avoid disrupting the segment spacing by deleting too much or too little when compared to the adjacent surfaces. Use the space between the support loops to take up any differences between the intersecting shapes and as a place to reduce extraneous edge loops using diamond or triangular quads.

    Keep things relatively simple during the intermediate stages of the block out. Solve the larger topology flow issues first then let the shapes guide the loop flow around the surface transitions. Try to avoid deforming the surfaces while adding or removing loops and maintain relatively consistent segment spacing on curved surfaces. Use the flat, well supported areas on the mesh to reduce extraneous loops with the common loop reduction patterns.



    Below is an example of what the final high poly base mesh could look like. Consider using basic modifiers, like mirror, to streamline different parts of the modeling process to avoid unnecessary repetition.

    Manually routing the edges is great for solving topology flow issues on larger shapes but a lot of the smaller, final support loops that sharpen shapes and shape transitions can be generated automatically with a bevel / chamfer modifier controlled by angle or vertex and edge weights.



    Make sure to occasionally zoom in or out and orbit around the model while working and consider regularly switching between different matcaps when modeling. This makes it easier to spot shape inaccuracies and smoothing artifacts. As well as compare and validate different topology routing solutions. 

    Matcaps with stronger shadows, highlights, and reflections are typically the best for highlighting problem areas.



    It's also worth mentioning that having extra cavity or edge effects on can make it difficult to accurately check edge width and tends to make the model appear more defined and detailed than it actually is. It's fine for presentation but consider toggling those kinds of effects on and off occasionally to get a fresh view of what the model looks like while working.

    Remember to check the model from odd, glancing angles to catch any minor smoothing artifacts that might be hiding in plain sight.



    Recap: Work through the block out in stages. Fully develop the primary forms before cutting into curved surfaces to add secondary forms and details. Try to keep things relatively simple at first and solve potential topology flow problems before incrementally adding complexity and details. Regularly check the model from different angles, view distances, and under varying lighting conditions. This will make it easier to spot smoothing artifacts, compare different topology routing strategies, and determine just how accurate the model needs to be for it's intended use.

    Efficient and effective subdivision modeling is all about making tradeoffs between shape accuracy, surface quality, and editability.

    Some additional resources that cover the basic of modeling for VFX and high end visulization:
    https://www.artstation.com/blogs/andrewhodgson/4aZN/modeling-blog-03-approaching-the-asset
    https://www.ebalstudios.com/tutorials
Sign In or Register to comment.