@Elphobos This thread is full of examples of subdivision modeling strategies so it's worth taking some time to skim through the pages and look at how other artists have created similar shapes. If there's an issue that's particularly difficult then post some images of the model in wire frame and subdivision preview mode. It's also important to explain what was attempted, what went wrong and what the desired result is.
It's generally considered best practice to start by blocking out the major shapes until there's enough geometry then move on to adding smaller details and support loops. Lot's of different modeling strategies but it's worth mentioning that mirroring and modifiers can speed up the process quite a bit. Here's an example of what this process could look like:
@G0056 It looks like you're using Blender so try changing the Outer Miter Pattern
from Sharp to Arc. There's also certain situations where adjacent
topology can interfere with bevel modifier and the only solution is to
adjust the topology elements in the base mesh until the modifier behaves
as expected.
This thread has a lot of information about adding support loops so it's probably worth taking some time to skim through and find some examples that fit what you're working on. Here's some direct links to a few recent discussions that are relevant to this question:
Frame topology comparison between subdivision modeling and re-meshing workflows:
Additionally, I'd also suggest researching 'floaters' (floating geometry) which in various situations, may be more beneficial aside from attempting too 'hard model' particularly fine surface details within confined regions of a contiguous mesh:
Good day, guys I'm just wondering how do you guys usually deal with this kind of corners, I already learned some of this from you guys about the support loops, but this time the support loop is creating a bevel like effects, I tried to move it to adjust the smooth but the pointy corner is having a problem when I do that since it is a part of its support.
@kuronekoshiii It's important to maintain a relatively consistent segment spacing along the walls of curved surfaces. Since the larger curved shape merges into a flat area (that's perpendicular to the curved surface) there's no real benefit to extending the edge loops off of the tab shape and into the wall of the curved surface.
Instead: block out the basic shapes then adjust the number of segments in the curved surface so the tab shape intersects between the existing vertical edges that make up the wall of the curved shape. This way the existing geometry (highlighted) becomes the support loops for the transition area around the shape intersections. From there the rest of the support loops can be added. Keep in mind that flat areas are largely impervious to topology changes and are a good place to end excess edge loops before they cross into other shapes.
With the proper topology the support loops can be adjusted as needed without adding segments to the curved shape. Here's a quick example of what this looks like:
This is the same principle discussed on the previous page and it will work for most shapes. It's deceptively simple and somewhat counter intuitive because it seems like it's a bit more work than connecting directly to the existing geometry.
The problem with working directly off the existing grid is there's either too much or too little room between the adjacent supporting geometry. This causes the geometry added by the subdivision smoothing to either bunch up or stretch out and that's what causes most smoothing artifacts. How much geometry is needed in a cage mesh depends on the shapes and the desired edge width but simplicity often has it's own virtues.
Hello, guys. I am working on this mesh and I can't really figure out how I can combine cylinder and the corner of a box smoothly like this one
Here is my work and found that I end up with wobbly line around the area where a cylinder meets a corner of the box.. any idea how to combine these two smoothly?
@jimdrawandmake A couple of posts above there's a discussion about preserving crisp edges and sharp corners when merging cylinders into other shapes. There's also a recent post about merging details into curved geometry and that links back to a previous discussion that may be useful for other parts of the shapes in the picture. Lots of good information about modeling strategies and topology layouts in this thread so it's worth the time to run back a few pages and skim through the posts for detailed write-ups of similar shapes.
It's generally considered best practice to block out all of the major shapes before modeling details and adding support loops. Starting with a block out is important because it's a way to preview how adjacent shape geometry interacts and make adjustments to things before investing a significant amount of time into the model. This makes it much easier to identify and correct topology issues before they become major time sinks.
With complex shape intersections it's important to use the existing geometry as support loops and to match the segments of intersecting curves whenever possible. It's also worth mentioning that the flat surfaces can be a good place to stop edge loops so they don't cross curved surfaces. Using a mirror modifier can also help reduce the amount of work that needs to be done. There's more detailed information linked above so here's a preview of what this process could look like:
Once the primary shapes are established then details and support loops can be added. This process can be partially or completely automated if bevel / chamfer modifiers are available. Some shapes may require adjustments to produce the desired results. The interior support loop for the sharp corners is on a flat surface so, provided the mesh subdivides without causing any major smoothing artifacts, it would be acceptable to resolve the topology in this area with triangles or n-gons.
The example at the end of the first row and the beginning of the second row are the same mesh and the models subdivides cleanly. How much additional geometry is required depends on whether the details are added as separate objects, floating geometry or part of a watertight mesh.
To recap:
Block out the major shapes before adding support loops and minor surface details.
Place intersecting geometry between the segments of curves to use the existing geometry as support loops.
Match the segments of intersecting curves to avoid generating smoothing artifacts.
@kuronekoshiii It's important to maintain a relatively consistent segment spacing along the walls of curved surfaces. Since the larger curved shape merges into a flat area (that's perpendicular to the curved surface) there's no real benefit to extending the edge loops off of the tab shape and into the wall of the curved surface.
Instead: block out the basic shapes then adjust the number of segments in the curved surface so the tab shape intersects between the existing vertical edges that make up the wall of the curved shape. This way the existing geometry (highlighted) becomes the support loops for the transition area around the shape intersections. From there the rest of the support loops can be added. Keep in mind that flat areas are largely impervious to topology changes and are a good place to end excess edge loops before they cross into other shapes.
With the proper topology the support loops can be adjusted as needed without adding segments to the curved shape. Here's a quick example of what this looks like:
This is the same principle discussed on the previous page and it will work for most shapes. It's deceptively simple and somewhat counter intuitive because it seems like it's a bit more work than connecting directly to the existing geometry.
The problem with working directly off the existing grid is there's either too much or too little room between the adjacent supporting geometry. This causes the geometry added by the subdivision smoothing to either bunch up or stretch out and that's what causes most smoothing artifacts. How much geometry is needed in a cage mesh depends on the shapes and the desired edge width but simplicity often has it's own virtues.
Thank you ngon master !! I guess I'm just overdoing things.
How to model the wire mesh part of this fan? In Maya, I made a plane with criss-crossed pattern and an object with the required shape and then projected the plane over it using either shrinkwrap deformer or sculpt deformer. I also tried Edit mesh >project curve on mesh. Then I use the result to convert edges to curves and then extrude the wires. However, it only looks good in the parts where the bending isn't that extreme. Near the edges where the bend goes almost 90 degrees, the pattern kinda looses shape and the holes become too big and stretched. Not at all like the real thing. If anyone has any advice, please do tell.
@FrankPolygon Thank you so much! I was really frustrated by it and now you made it look so easy that I feel a little bit more confident with it. I will definitely go over the previous posts in the thread, Cheers!
I’m new to maya for the most part, only played around off and took a class for a semester. im attempting to make a weapon via Maya and import it into a game for the most part I’ve developed it having the handle as one object and the blades portion another object. I’m trying to add holes into the blade by selecting my blade and then a polygon cylinder object then using Boolean > Difference. This should work as I know (it’s how I did the back portion. But when I go to add in edge loops or multi-cut nothing happens, fill hole acts like the vertices aren’t there, when I drag the vertices of the cylinder it seems like they are reversed such as opposite side, and bridging takes random vertices and adds a hidden edge. At random times I can find a secondary vertices and I attempt to double check there isn’t any and they won’t be there which is really annoying.
I’m hoping somebody can help me resolve these issues or give me some tips, and if they have any suggestions about the handle or back end design that’d be cool too! Thanks a lot!
@anotherdoseofcorey Translating approximate 2D shapes to a reasonably accurate 3D volume can be challenging so it's best practice to start off by blocking out the basic shapes to figure out how it all fits together.
Below are three possible options for creating the recessed area around the small cylinder. The first example produces a similar outer profile on the tapered area but won't be workable if it's moved up and onto the parallel sides of the large cylinder. The second example produces a similar outer profile on the parallel and tapered areas but doesn't quite match the inner taper / round over that's suggested by the shading in the concept. The third example is similar to the second example but has a tapered shape and has been rotated so the smaller cylinder clears the outer profile where the shape intersects the larger cylinder.
These results suggest that the intersecting shape is an oval, projected from above at an angle that's close to the angle of the taper on the large cylinder. The shading of the recessed area in the 2D illustration also suggest that the walls of the intersecting shape are tapered and the bottom of the recessed area is rounded.
From there it's the same as cutting in any other shape on a curved surface: place the intersecting geometry between the existing edges of the
cylinder wall, match the segment counts on both shapes and use the
existing geometry as support loops.
A more detailed discussions of this process can be found a couple of posts up and a few pages back.
This thread is a great resource, with a lot of examples, so it's worth taking the time to skim through it and look at how other artists have created similar shapes.
Support loops can be added after the basic shapes are established. To reduce the amount of work required the cut out can be rotated into place and mirrored. Here's a quick example of what this process could look like.
Details can be added with inset operations and since the tapered section in the first example was left long it can be trimmed down to size. The support loops around the taper transition on the large cylinder generate a few triangles inside of the recessed area but they don't cause any major smoothing issues and this area won't be seen so it's passable.
Hi guys, how do I approach on combining this grater to the base mesh efficiently, I plan on just slapping all those supporting edges all over the base mesh, but I think there is a much better time saving/efficient way on how to deal with the problem.
Here is what I planned to do, but I am uncertain that I would only waste time on doing this.
@Welcj When it comes to game art and high poly models for baking: there's few legitimate technical reason to extend all of the edge loops across the flat areas and into adjacent shapes. Most of the time it will just create unnecessary complexity that will make it harder to edit the mesh in the future.
In general: it's acceptable to have a few extra edge loops running across the flats, provided they don't over-complicate the mesh or interfere with the topology of adjacent shapes. It's also acceptable to simplify the mesh by removing extra edge loops wherever they cross over flat areas, provided doing so doesn't generate visible smoothing artifacts.
Manually cutting in all of those loops across the entire mesh isn't advisable. Flat surfaces (with support loops around the shape perimeters)
are largely unaffected by topology changes and can be used as a place to
terminate excess edge loops. This thread has a number of good examples
of how this can be done so it's worth taking some time to skim through
it and find similar examples.
When creating high poly models:
If the object has multiple parts then consider modeling the parts separately.
If the object is a single part and there isn't a requirement for a continuous mesh then consider floating geometry.
If there are technical requirements for a continuous or watertight mesh then consider using the flat areas to terminate excess edge loops.
Which approach makes the most sense depends on what the model will be used for and what the specific technical requirements are.
As an example: some stock 3D certification programs have strict technical requirements to cover edge cases and this can mean that running extraneous edge loops across the entire mesh may be the only way to meet those requirements. Contrast this with game art where the same practice would generally be considered unnecessary at best and an egregious waste of time at worst. If the mesh is easy to work with and subdivides cleanly, without causing any major artifacts, then it should be passable.
Smoothing and shading errors on flat and curved surfaces:
There's been some discussion (in another thread) about resolving smoothing and shading errors on shapes similar to what's shown below. Since individual question threads can be difficult to locate in a search and will eventually be lost in the shuffle it makes sense to post this information here.
Here's some examples of subdivision smoothing and smooth shading errors that appear around details on flat and curved surfaces. Shaded previews in the top row and underlying geometry in the bottom row. Left to right are flat / curved surfaces in the first two columns and subdivision / poly models in the last two columns.
Undesired stretching and pinching are subdivision smoothing errors that
indicate a lack of support loops around shapes and topology issues
around shape transitions. Strong gradations around corners and scalene
triangles are a type of smooth shading error that indicates a lack of
smoothing splits around the adjacent shapes.
This thread has a lot of detailed examples that cover subdivision topology so the following will only cover the basics. More detailed discussions about these topics can be found directly above this post and a few pages back.
Flat surfaces generally only need support loops around shape intersections, shape transitions and the perimeter profile. Adding support loops around the shape transition where the rectangular pocket intersects the flat surface and across the inside of the space between the rounded ends of the pocket will resolve the smoothing issues when subdivision is applied.
Curved surfaces generally require a relatively consistent segment spacing and it's generally considered best practice to use the existing curve geometry as support loops by placing the intersecting geometry between curve segments and match the segments of both the intersecting and existing geometry whenever possible.
The important thing is to match the vertices along the curved areas of the intersecting geometry as closely as possible to the perpendicular edges that make up the wall of the curved surfaces on the underlying geometry.
This matching doesn't have to be perfect, it just needs to be close and any positional difference between the two can be taken up by the space between the outer support loops formed by the underlying geometry and the inner shape profile of the intersecting geometry.
*It's worth noting that these examples contain some excess edge loops that run off the curved surfaces and onto the flat areas. In most cases there's little benefit to carrying these loops across the entire mesh so just dissolve them off the flat, up to the outside support loop of the shape transitions.
Strong gradation in the low poly smooth shading can be resolved by using hard edges (smoothing groups) around shape intersections and shape profiles. Low poly flat surfaces can be ruthlessly optimized unless doing so would introduce undesired UV splits or long thin triangles.
Low poly curved surfaces can be optimized but it should be a balance between consistent segment sizes based on view distance, desired smoothing behavior and reasonable UV splits. Going too far one way or the other and only focusing on optimizing one element of a curved surface can have severe negative impacts on the overall visual result and performance of the model.
Some aspects of low poly optimization are contextual and depend on technical requirements and project goals and all of the examples here are middle of the road so mileage may vary. Balancing efficiency with resilience can be a good starting point.
@FrankPolygon thank you so much for this information, I never know floating geometry is a thing since I am also a newbie here. Gotta absorb all this stuff up, this is huge resource for learning, thanks again Frank!
If for example an ingame asset, I'd utilise an optimised low too high poly smoothing group/chamfer workflow (3ds Max) generating that object...
or a pre-renderd static shot, probably grab Blender and indulge in a bit of non-destructive boolean operand machined part oriented modeling...
EDIT:
Browsing through the previous 10 pages alone, illustrates a ton of current insightful info as too *how* alongside more importantly the *why* a given methodology is implemented.
@Melubnio Without autocad software, you model these types of shapes with the help of subdivision modelling and boolean modelling.
So in general start off small with the rough shape of what you want, then add supporting loops and subdivide your mesh. For complex shape or parts of you mesh, like cuts and holes etc. It's always better to just use booleans.
Hey guys, cant wrap my head (joke) about how modeling this cloth (sageo) piece on katana. I tried just plane extrude and this gives boring results. Plus I not very sure how model all this knots and intersections.
Hey guys, cant wrap my head (joke) about how modeling this cloth (sageo) piece on katana. I tried just plane extrude and this gives boring results. Plus I not very sure how model all this knots and intersections.
For the Sageo if it was me. I would use a plane or cube, keep it simple. Then go into substance designer and make that fabric. For the little flairs at the end I would treat it like vegetation and use an alpha card. Lastly I may mess around with the shader. Should note I'm considering in game, specifically Unreal Engine as the end result and there's likely a better way overall
Ionic
Columns having a few issues. Real quick I tried to merge some of the photos to
lessen the amount pics uploaded. Also, on the column part question, So I could
get a little bit of a preview I made the instances while modeling that detail.
So that hard edge isn't part of the problem. (Pointed out with blue arrow)
I’m using maya but my background is mostly 3ds max if you rather explain anything
using it.
A
question for both things is overall topology; if its good then fine but if something
strikes you as off please let me know 😊
for
column part: The end goal is creating a high poly however, I would like the the
low version to be an option to use in cases I need some more detail. The one shown
I started making a 32 sided cylinder and using 2 polygons deleting the rest.
First attempt not here I had tried 16 sides but once connected they had very
hard edges. One problem is the pinching on the left picture, the other is the
longer picture. I’m struggling to make those inward extrusion while keeping the
column cylindrical overall once I combine and weld everything. I just noticed
that exact issue occurred when I was trying to tweak and the center line
somehow went farther inward. But still how to keep the cylinder shape when
adding the 2 extra vertical lines?
For
the Spiral piece: (There was changes between the flat plane screenshot and the
one that’s extruded. Their still pretty similar and It’s easy to see in that
photo is why I put it on here. )through sheer determination I managed to make
the high poly pinching minimal. Where the spiral connects into the cylindrical
shape, is this ideal or is there a better way of doing it. That triangle I can
make a quad no problem, but the number of extra quads to do so wasn’t worth it
since it didn’t make any difference. The other thing I wanted to ask if there
was a better way to go about going from that chamfer edge to the harder portion
without using the triangle.
@jdellinger98 Overall you have the right idea: using instancing, mirroring and other modifiers will reduce the workload and speed up the modeling process. Try to maintain a consistent shape transition when working with intersecting geometry on curved surfaces.
Using a single base model for the high poly and low poly.
It is possible to have a single base mesh that can be build up into a high poly cage mesh then quickly optimized down into an in-game low poly model. When taking this approach it's going to be important to consider factors like view distance, texture layout / size, damage states and in-game poly count limitations before committing to any modeling. All of these factors will help set a technical target for the low poly model and these restrictions will help inform how dense the base model should be.
This approach probably makes the most sense if the flutes on the column actually need to be in the low poly model. In cases like this, where the high poly and low poly model need to share a lot of surface details, this approach makes sense and can be very efficient. However, there's also a lot of situations where the in-game model doesn't need to be this detailed and in those cases this approach doesn't make sense because it would add artificial restrictions and unnecessary complexity to the modeling process.
Avoiding deformation around the perimeter of flutes on a curved surface.
It's likely (based on the description and images provided) that the undesired deformation of the cylinder around the fluted details is caused by too much manual mesh manipulation and the addition of excess geometry between the existing edge segments that make up the wall of the cylinder's shape. With subdivision modeling and curved shapes it's important to maintain the consistency of the cylinder's shape while also ensuring that the perimeter of intersecting geometry remains concentric with the walls of the underlying cylinder.
In general: It's important to match the segment counts of intersecting shape geometry whenever possible and it's considered best practice to maintain a relatively consistent segment spacing around the walls of cylindrical shapes. When matching up the segments of intersecting features it's also considered best practice to use the existing geometry of adjacent shapes as support by placing the intersecting geometry between existing edge segments. The last few pages has a number of good discussions on how this can be done.
The big thing is to keep all of the new geometry in line with the curvature of the cylinder walls.
Here's an example of what this could look like: Using a bit less geometry will make the mesh more efficient and potentially easier to work with. It's also worth noting that the intersecting geometry on the curved portion of the flutes lines up with the existing geometry of the cylinder wall segments. A flat walled flute wouldn't be an impossibility but rounded profiles seems to be more common for Ionic columns. Depending on how accurate the model needs to be it may be worth researching the exact flute profile for a specific structure or period.
Using triangles and n-gons.
Provided the mesh subdivides cleanly, without any major smoothing artifacts and barring any legitimate technical limitation, it's acceptable to use triangles and n-gons in a subdivision cage mesh. Whether or not this is acceptable depends entirely on the result and the workflow. It can be very easy to waste time and resources perfecting things that might not really matter in the long run.
The triangle on the flat area inside the volute at the top of the capital isn't causing any major smoothing issues so it should be fine. If the end goal of the project is to create a game ready asset then focus on what players are going to see. For most projects, it's extremely unlikely that players will see or care about high poly wire frames.
Here's a similar example that has several n-gons and a significant number of triangles. Most of the sloppy topology is confined to either the flat areas or minor shape transitions so minor smoothing artifacts aren't blatantly obvious. The base mesh will become all quads when it's subdivided and if it's going into ZBrush for a sculpting pass then automated quad re-meshing will provide a clean output. Either way: once everything is baked down and additional high frequency normal details are added any minor smoothing artifacts won't be visible.
Here's another example that shows how a simplified base mesh (with a few n-gons and triangles) can be built up into a high poly model by adding support loops with a bevel / chamfer modifiers. This makes it easier to adjust the edge width and add additional details before sending the high poly out for sculpting / baking. For the low poly the base mesh could be unwrapped and used as is or further optimized to meet any technical requirements.
This circles back to the opening discussion about figuring out what the
players will be looking at and how detailed something needs to be. Often
it doesn't make a lot of sense to spend extra time on something that
doesn't directly improve the visual quality of the model or directly
impact the story / game play. Focus on results and improving the visual quality of what the player will see up close or directly interact with.
To recap:
Evaluate how a model will be used and what the technical requirements
are before jumping in and committing a bunch of time to creating an
overly complex model. Minor smoothing artifacts may not be be visible in
the final bakes or when normal texture details are added.
When working with curved topology try to maintain a
relatively consistent segment spacing, match the segments of
intersecting geometry whenever possible and use existing geometry as
support loops.
If a subdivision mesh subdivides cleanly, without any major smoothing
artifacts and provided there's no technical limitations, it's fine to
have triangles and n-gons in a base / cage mesh.
I made this black object in Blender. While the shape and shading is good, it looks very highpoly for something that will be duplicated 7 times. Is there a better way to do the topology to reduce the polycount while still retaining the shape?
@IronLover64 I think it depends on things like how close the camera will be to it and how you're planning to texture it. Since the panel is a small part of the whole device, you could simply model the low poly using bevels and skip the high poly. Alternatively, you could bake a normal map using the high poly you have onto a more optimized low poly model.
I made this black object in Blender. While the shape and shading is good, it looks very highpoly for something that will be duplicated 7 times. Is there a better way to do the topology to reduce the polycount while still retaining the shape?
Hi! I am trying to model this cylinder into a the cube, and tbh Im a little lost on where to start. I could bevel the edges with a high fraction, and boolean a cylinder into that corner, but then I would lose the hightlights, as it gets too soft. Would be a great with a tip, on how to approach this at least! Thanks
@abronee There's a discussion about merging similar shapes a few posts up and the last couple of pages of also have examples of how to add intersecting surface features to curved geometry. It's definitely worth taking the time to read through some of the existing documentation in this thread to see if any of those solutions can be applied to the shape in question.
It's considered best practice to start by blocking out the shapes, matching the segments on the intersecting curved shapes and adding supporting geometry where needed. If you run into any major problems while modeling the shapes: post some images of the mesh in shaded and wire-frame mode, describe the issue, attempted solutions and how you would like to improve the results. Seeing exactly what's wrong with the mesh will make it easier to give accurate feedback on possible solutions to specific problems.
Hello. I'm modeling a bike part and there's a tricky area where 3 curved sharp edges meet at 1 intersection. I'm not sure if it's possible to fully avoid a triangle/ngon. I suppose they might be necessary evil, but I'm not sure how to place them in a way to avoid excessive loops. There was one attempt from me in 3rd picture, but I believe it's not elegant solution There's link to blender file if it helps https://drive.google.com/file/d/1akP9WgfKCi07cV99FqY3wA5SLPHkzBv9/view?usp=sharing (in 2nd pic, blue edges are marked as max bevel weight for adding support loops via bevel modifier)
@tonpix In this case it would be a lot faster to ignore all the support loops and just bevel your edges upon weight or angle before subdividing your mesh (bevel with modifier and don't collapse it)
Really you shouldn't be afraid of having ngons or triangles, as long as the end result is what you want visually. You are working on a hardsurface model so you can get away with a lof of ngons.
since you're using Blender, I highly recommend Boxcutter, HardOps and Meshtools for your hardsurface models as it speeds up your modelling.
Also the problem why you get so many overlapping lines etc. at this "intersection", is because you try and connect so many vertices into one corner and subdivide it later.
So what you can do too is make the corner more broad, so that it's not a 90degree corner with one edge. So adding another corner to it so that the overall shape is closer to your end-result when subdiving might also help.
There's more than one way to do this but start by matching the number of segments in the cylinder to the adjacent geometry in the quad sphere. Join the two shapes by using either a boolean operation or a bridge edge loop operation. Clean up any stray geometry before and after joining the shapes. Duplicate the joined features into a quarter shape segment using the split, copy, mirror and rotate tools. Add a mirror modifier to complete the rest of the shape. Below is a basic example of what this could look like.
It's also possible to use shape primitives and a series of modifiers (array with empty rotation offset, mirror, boolean and bevel) to perform most of the previously mentioned modeling operations in non-destructive manner but for such a simple shape this excess complexity may not make sense. The tools, order of operations and amount of geometry needed will vary depending on how closely the model will be viewed and the desired goals for the project. Adjust accordingly.
Hey people! Every now and then I face a problem of merging three+ edges with bevels of different sizes applied to them. And every time I end up either using booleans as a starter, or I do these corners by hand entirely. But there must be a more elegant solution. Do you guys have any tips how to tackle this?
@martianlion It should be possible to create this geometry automatically with a bevel / chamfer modifier. Depending on the application's tool set: the width of the round over can be controlled by weights, groups or base geometry. Check the application's documentation to see what options are available in the latest version.
Here's an example where the size of the round over is controlled by edge weights. The edge weight along the top of the mesh decreases towards the back of the shape which results in a tapered profile.
Here's an example where the size of the round over is controlled by the underlying geometry. The relative size of the adjacent surface area is used to determine how large or small the round overs should be. Adjusting the position of the existing support loops around the outer edges will change the size of the round overs.
Another option would be to create a very coarse cage mesh and use basic subdivision to round over the edges. What method makes the most sense depend on how accurate the curves need to be and what tools are available.
@FrankPolygon Thank you, you're the best. Using the initial geometry to determine all these shapes at once instead of doing bevels first, and then trying to connect them is... Welp. Great idea, and so simple too. Thanks again.
Search back a few pages, there are a few options kindly shared that discuss various methods too resolve topology issues by using existing geometry to support mesh cage transform functions once subdiv is applied.
@Tosyk When searching this thread there isn't always a direct copy of any specific shape but there are often examples of similar shapes and similar smoothing artifacts. Looking at how other artists solved similar problems can help inform which topology strategy would work to resolve a specific mesh smoothing problem.
The previous page has a number of discussions about merging shapes into curved surfaces and different techniques for adding surface details. A few pages back there's a discussion about adding louver details to a car part with compound curves and there's also another discussions that covers how close is good enough when it comes to matching segments on curved surfaces.
The big challenge here is there's a lot of compound curves coming together in one spot. When working on curved surfaces it's generally considered best practice to match the number of segments across intersecting geometry whenever possible. Right now there isn't enough geometry in the outer profile to support the grille segments. Solving this problem will require blocking out the surrounding shapes and figuring out how much geometry is required to support each segment of the grille.
Cars from that era had a lot of stamped sheet metal parts. Some grilles were stamped out of a single piece of sheet metal and others were brazed or welded together from multiple stampings. Stamping technology was relatively primitive back then so complex parts like that had to have very soft transitions, otherwise the metal would tear during the stamping process. The grille in the reference image has very soft, rounded shapes which suggests that most of it was a single piece stamping and that soft curvature is something that should be replicated in the actual model.
Modeling individual parts of the object separately is a good strategy for optimizing the topology but it's also important to ensure that there's enough geometry to support the complex shape intersections that occur on surfaces with compound curves. Study the shapes in the reference image, consider how closely the object
will be viewed by
the player and how much texture resolution is available for this
specific part. This will help determine the appropriate edge width of the support loops.
From there the basic idea is to block out the shapes,
determine the appropriate amount of geometry required to hold the shape
details and match the segments of the intersecting geometry whenever
it's reasonable to do so. Keep in mind that each grille segment doesn't
have to be a perfect match with the adjacent geometry: in most cases
close enough is good enough.
Too little starting geometry and too many mismatched or over manipulated
curve segments tends to result in severe mesh deformation which
produces severe pinching, stretching and undulating smoothing artifacts.
Instead try to use the appropriate (yet optimal) amount of geometry
required to support all of the detailed shapes and shape transitions.
There's a number of different ways to model this but here's an example of what this process could look like. Ideally the grille would be modeled as a separate part but in this example the grille is still attached to the base mesh to demonstrate the importance of matching the segments to surrounding geometry.
To recap:
Establish the underlying shapes and determine the appropriate amount of geometry required to hold shape details that fall along surfaces with compound curves. When working with curved surfaces it's generally considered best
practice to match the segments of intersecting shapes whenever it's
reasonable to do so. Make sure there's sufficient supporting geometry around shape intersections.
Modeling the individual parts of an object separately can be an ideal way to approach complex assemblies. Just be sure that each sub mesh has adequate geometry to support surface details. Avoid both unnecessary complexity and over optimization.
When encountering difficult topology problems on complex shapes, study the references and take the time to research existing solutions for similar topology or modeling problems. Apply solutions from similar problems and evaluate the results.
@FrankPolygon thank you for you detailed and most structured explanation sir! this was not only helpful but also interesting reading.
The reason I came here is because I faced difficulties which I can't solve myself. I should say that I'm always patiently looking for a solution before I start to ask anything. It seems my eye got blurred after few days of attempts. Also I have this so far and I'm pretty satisfied with the result:
Hi guys, I have never modeled such shapes and I have a problem and the question is if I modeled the shape correctly and if the mesh is normal, you can see that I have a problem with setting up the smoothing groups at the seam, can anyone know how to achieve good shading and nice mesh? One of the problem
@FrankPolygon thank you for you detailed and most structured explanation sir! this was not only helpful but also interesting reading.
The
reason I came here is because I faced difficulties which I can't solve
myself. I should say that I'm always patiently looking for a solution
before I start to ask anything. It seems my eye got blurred after few
days of attempts. Also I have this so far and I'm pretty satisfied with
the result:
Nice!
I agree, can be challenging sourcing info or indeed how/what too query when a particular issue crops up in the first place?!
So just a teeny additional expansion upon Frank's typically detailed advice which in turn I'd personally recommend to also search term vehicle games - production - visualization artist / techniques / methodologies and so forth, basically relevant resources for your intended aim whether practice or otherwise:
(...a few tutes that proved useful over my time building a somewhat 'fluent' knowledge base, generating complex hard surface objects)
I found this tip which was wonderfully useful for the outer corners of this very pointy mesh - I was wondering if there might be such a magic key to what is essentially the inverse of that shape.
This is for a game so I think we can only have one level of subdivision. Naturally, this is right on top of the spaceship and highly visible. Any ideas how I can get this a little cleaner would be very, very appreciated! Thank you!
@lammer_228 Overall it looks like you have the right idea. Whether or not the shape is correct depends on what the model will be used for (hero prop, background prop, minor environment clutter, etc.) and whether or not the model needs to closely match the reference images. A lot depends on where the object will appear in game, how players will interact with it and what the overall goals are for the project.
It's generally considered best practice to place hard edges and UV splits along the natural edge breaks that define the object's surfaces and major features. Sometimes it's also necessary to place hard edges around areas with excessive smoothing artifacts or normal gradation. Evaluate how players will generally view or interact with the object and try to place any additional corrective hard edges where they won't be visually distracting or cause other issues.
Here's an example of how hard edges can be placed around the natural edge break that occurs around the perimeter of major shapes.
Keep in mind that it can be acceptable to have some minor gradation in a
normal bake, especially if the low poly mesh has very little geometry.
Run some test bakes to evaluate the best balance between shading issues,
normal gradation and hard edge placement. Remember to support hard
edges with the requisite UV splits.
When optimizing the low poly mesh it's generally considered best practice to remove any extraneous edge loops or surface geometry that doesn't directly contribute to the visual fidelity of important details or the smoothness of the object's overall silhouette. The transition area from the handle socket down to where the collar blends into the shovel's blade could use some optimization to remove excess geometry that doesn't really contribute to the overall visual quality of the model. There's also some excess geometry on the blade of the shovel that doesn't really add anything to the overall shape. This extra geometry could be removed to make the mesh more resource efficient or it could be reallocated to additional details on the back side of the blade.
Below is an example of a baked low poly mesh with a comparable vertex and triangle count.
When overall shape accuracy is a concern: take the time to research the object and locate additional reference material. The shovel in the original reference image appears to be a chain hardware store's house brand and it's generally made out of a single piece of pressed sheet metal. Here's a video that shows how pressed steel shovels are made. The steps on either side of the blade are usually folded upwards towards the front of the blade and the back of the shovel is generally open with a visible seam line where the two halves of the collar meet.
Modifiers like mirror, shell / solidify and bevel / chamfer can really speed up the process of modeling a base mesh that's usable as a starting point for both the high poly and low poly models. Working on a thin (single sided) version of the model and solidifying the mesh to add thickness really speeds up the modeling process and mirrors the look of pressed or stamped parts.
Here's an example of what this could look like. Starting with a well optimized base mesh and using modifiers to add the thickness and support loops makes it very easy to convert the high poly base mesh into a low poly model.
If you're happy with how it looks and it bakes correctly then there's
minimal return on improving something players won't spend a lot of time
interacting with. On the other hand, a hero prop or object that players
will regularly interact with should be thoroughly researched and the
model should match the reference images to a reasonable standard for the
project. Without knowing exactly what the model will be used for it's
hard to offer more specific advice.
Overall: what you have is fine for a background prop and there's some minor improvements that could be made by removing excess geometry from areas that aren't directly contributing to the visual impact of the piece.
To recap:
Place hard edges and UV splits along natural edge breaks around shape features.
Remove excess surface geometry that doesn't directly contribute to the visual quality of the low poly model.
Consider how players will interact with the model when optimizing the poly count and placing hard edges.
@FeatherCritter That mesh looks a bit dense for a relatively flat surface on an in-game model. There's a number of different ways to approach modeling this shape and pure subdivision modeling may not make the most sense for this application. What approach makes the most sense will depend on how large the object is, how closely the model will be viewed, how players will interact with it, etc. It may make sense to block out all of the major forms first then develop the details and shape transitions with other modeling tools like bevel / chamfer, etc.
All that said: it appears that much of the problem with that particular corner is caused by the lack of supporting geometry below the chamfer and the way the poly strip in the inside corner transitions into the surrounding geometry. If that polygon strip needs to be there then it's probably worth the effort to continue that geometry out into a flat area where it's safe to terminate the loops without causing smoothing issues.
Here's an example of what the topology for the wide corner could look like.
This also works on chamfered surfaces. The key is to provide support loops for all of the major forms and shape transitions.
It's also possible to create sharp corners using a similar topology strategy to what was shown at the peak of the triangle shape.
What topology strategy makes the most sense depends on the underlying shapes and whether or not it makes sense to approach this model as a pure subdivision project. It's generally considered best practice to block out all of the major shapes since this makes it easier to figure out what topology strategies will work best and it also makes it easier to resolve shape issues before investing a large amount of work.
Hey friendo. You're gonna learn some math here, sorry. I see you didn't get the help needed, so here's a lesson in patterns.
Identify the largest repeatable pattern. In this case, i'm able to pizza this boi into 6 pieces. The base angle for this pattern found by 360°/6=60°
Now to break down one of these 60° slices. I do the top left one because it lines up with the x axis nicely, count 9 holes going along the X axis, and see that there are actually 9 different radial patterns within each piece. The 1st (center) hole is singular. The second has 2 holes, the 3rd has 3, (...) and the 9th has 9 holes in a radial pattern.
THE LEARNENING: In any pattern, the amount of Dimensions (lengths or angles) is always one less than the amount of Instances in the pattern. Here's an example of red vertices in two patterns. Pattern A has two vertices. Amount of dimensions is therefore 2-1=1. B has 3 verts, therefore 2 dimensions: Yes? We can use this in a bunch of ways. One is to get the length we need in the first pattern. I want the 9th radial pattern to have 50mm radius. To get the distance between the instances, I go: Total length / (Instances - 1), which is 50/(9-1)=6,25mm
For my holes I choose you, six-sided cylinder, because you line up nicely with my 6-sided pattern as discovered at the very top. One way to do this is to set my grid spacing to 6,25mm, and use grid snaps to get the correct spacing, and make 8 copies.
For the first circular pattern, I'm already done, there's only 1 of them at the center. Good Job, me!
For the 2nd circular pattern, the angle is 60°/(2-1)=60°, yes? Yes.
... For the 5th with 5 instances, the angle is 60°/(5-1)=15°, and 5 instances. Yes?
... For the 9th pattern with 9 instances, we're gonna have an angle of 60°/(9-1)=7,5°. YES Oh shit I should've said this at the start. Anywhere Max lets you enter numbers you can hit CTRL+N and it'll let you do a little maths in there.
Boolean and cleanup time. As these holes will be on a flat surface, none of this will matter too much. If you're gonna sculpt on it, do something different maybe. IDK. Try and get things neatly into quads or tris to limit potential fuckery.
Complete the pattern by rotating it 6 times and welding vertices by a low amount.
For supporing geometry, grab all the polys and inset once by however much you want to
Then once again by a tiny amount if you're a baller.
Add some colorful lights, thiccness and a smooth modifier, and you've got yourself one neon porn strainer
Now you know all you need to know about patterns. Now go out there and get 'em
Hi, it's been a while since I've posted here ! I've started a new project and I'm struggling with what could seem a very basic shape. I'm trying to model a cupola. Here's my reference :
And here's what I'm struggling with :
I feel like the intersection isn't as rounded as it should be but yet I can't find how to manage it, also the top part is a mystery to me ...
Replies
Here is my work and found that I end up with wobbly line around the area where a cylinder meets a corner of the box.. any idea how to combine these two smoothly?
im attempting to make a weapon via Maya and import it into a game for the most part I’ve developed it having the handle as one object and the blades portion another object. I’m trying to add holes into the blade by selecting my blade and then a polygon cylinder object then using Boolean > Difference. This should work as I know (it’s how I did the back portion. But when I go to add in edge loops or multi-cut nothing happens, fill hole acts like the vertices aren’t there, when I drag the vertices of the cylinder it seems like they are reversed such as opposite side, and bridging takes random vertices and adds a hidden edge. At random times I can find a secondary vertices and I attempt to double check there isn’t any and they won’t be there which is really annoying.
Smoothing and shading errors on flat and curved surfaces:
(Vitaly Bulgarov's kitbash piece)
https://polycount.com/discussion/comment/2076253/#Comment_2076253
Ionic Columns having a few issues. Real quick I tried to merge some of the photos to lessen the amount pics uploaded. Also, on the column part question, So I could get a little bit of a preview I made the instances while modeling that detail. So that hard edge isn't part of the problem. (Pointed out with blue arrow) I’m using maya but my background is mostly 3ds max if you rather explain anything using it.
A question for both things is overall topology; if its good then fine but if something strikes you as off please let me know 😊
for column part: The end goal is creating a high poly however, I would like the the low version to be an option to use in cases I need some more detail. The one shown I started making a 32 sided cylinder and using 2 polygons deleting the rest. First attempt not here I had tried 16 sides but once connected they had very hard edges. One problem is the pinching on the left picture, the other is the longer picture. I’m struggling to make those inward extrusion while keeping the column cylindrical overall once I combine and weld everything. I just noticed that exact issue occurred when I was trying to tweak and the center line somehow went farther inward. But still how to keep the cylinder shape when adding the 2 extra vertical lines?
For the Spiral piece: (There was changes between the flat plane screenshot and the one that’s extruded. Their still pretty similar and It’s easy to see in that photo is why I put it on here. )through sheer determination I managed to make the high poly pinching minimal. Where the spiral connects into the cylindrical shape, is this ideal or is there a better way of doing it. That triangle I can make a quad no problem, but the number of extra quads to do so wasn’t worth it since it didn’t make any difference. The other thing I wanted to ask if there was a better way to go about going from that chamfer edge to the harder portion without using the triangle.
Thanks!
(End goal is for games)
Using a single base model for the high poly and low poly.
Avoiding deformation around the perimeter of flutes on a curved surface.
Using triangles and n-gons.
how do I merge these two pieces together into one piece as well as have it on all 4 sides?
Every now and then I face a problem of merging three+ edges with bevels of different sizes applied to them. And every time I end up either using booleans as a starter, or I do these corners by hand entirely. But there must be a more elegant solution. Do you guys have any tips how to tackle this?
outer shape is fine though
thanks, but that's what I need help with - to fix the topology.
I looked through several pages back and didn't find solution unfortunately
thank you for you detailed and most structured explanation sir! this was not only helpful but also interesting reading.
The reason I came here is because I faced difficulties which I can't solve myself. I should say that I'm always patiently looking for a solution before I start to ask anything. It seems my eye got blurred after few days of attempts. Also I have this so far and I'm pretty satisfied with the result:
One of the problem
+ .obj : http://www.sashamorrissey.com/artwork/ShipHelpPleaseThankYou.obj
I found this tip which was wonderfully useful for the outer corners of this very pointy mesh - I was wondering if there might be such a magic key to what is essentially the inverse of that shape.
https://i.pinimg.com/originals/7d/ca/72/7dca726528b9c887de8a458631f8cbc3.png
This is for a game so I think we can only have one level of subdivision. Naturally, this is right on top of the spaceship and highly visible. Any ideas how I can get this a little cleaner would be very, very appreciated! Thank you!
Hey friendo. You're gonna learn some math here, sorry.
I see you didn't get the help needed, so here's a lesson in patterns.
Identify the largest repeatable pattern. In this case, i'm able to pizza this boi into 6 pieces.
The base angle for this pattern found by 360°/6=60°
Now to break down one of these 60° slices. I do the top left one because it lines up with the x axis nicely, count 9 holes going along the X axis, and see that there are actually 9 different radial patterns within each piece. The 1st (center) hole is singular. The second has 2 holes, the 3rd has 3, (...) and the 9th has 9 holes in a radial pattern.
THE LEARNENING: In any pattern, the amount of Dimensions (lengths or angles) is always one less than the amount of Instances in the pattern.
Here's an example of red vertices in two patterns. Pattern A has two vertices. Amount of dimensions is therefore 2-1=1. B has 3 verts, therefore 2 dimensions:
Yes? We can use this in a bunch of ways. One is to get the length we need in the first pattern. I want the 9th radial pattern to have 50mm radius.
To get the distance between the instances, I go: Total length / (Instances - 1), which is 50/(9-1)=6,25mm
For my holes I choose you, six-sided cylinder, because you line up nicely with my 6-sided pattern as discovered at the very top.
One way to do this is to set my grid spacing to 6,25mm, and use grid snaps to get the correct spacing, and make 8 copies.
For the first circular pattern, I'm already done, there's only 1 of them at the center. Good Job, me!
For the 2nd circular pattern, the angle is 60°/(2-1)=60°, yes? Yes.
...
For the 5th with 5 instances, the angle is 60°/(5-1)=15°, and 5 instances. Yes?
...
For the 9th pattern with 9 instances, we're gonna have an angle of 60°/(9-1)=7,5°. YES
Oh shit I should've said this at the start. Anywhere Max lets you enter numbers you can hit CTRL+N and it'll let you do a little maths in there.
Boolean and cleanup time. As these holes will be on a flat surface, none of this will matter too much. If you're gonna sculpt on it, do something different maybe. IDK. Try and get things neatly into quads or tris to limit potential fuckery.
Complete the pattern by rotating it 6 times and welding vertices by a low amount.
For supporing geometry, grab all the polys and inset once by however much you want to
Then once again by a tiny amount if you're a baller.
Add some colorful lights, thiccness and a smooth modifier, and you've got yourself one neon porn strainer
Now you know all you need to know about patterns. Now go out there and get 'em
I've started a new project and I'm struggling with what could seem a very basic shape. I'm trying to model a cupola.
Here's my reference :
And here's what I'm struggling with :
I feel like the intersection isn't as rounded as it should be but yet I can't find how to manage it, also the top part is a mystery to me ...