I'll like to share with you a video tutorial that I just made on how to create hand painted textures for videogame weapons. In this case I wanted to replicate the art style of “Ruined King” based on the beautiful concept art from Baldi Konijn.
Knowing that this may have originated from HoTS gives the needed context IMHO - and I think this perfectly illustrates how something that may be relevant for a very specifc (and somewhat hacky) edge case is not to be taken as gospel, and can end up costing time and ressources.
I personally didn't take part in the development of HoTS but I can certainly imagine a rather unfortunate set of circumstances in which things need to "look cool" for review at the highpoly stage, yet ending up looking too weak once baked down and viewed at RTS distance. Of course such a situation is absurd since as pointed above by EQ this stuff should *obviously* be taken into account earlier up the pipe - but if the highpoly sculpts are considered throwaway assets and if everyone involved is fine with wasting time on such "double takes", heck, anything goes.
I still do believe that this is inherently absurd though, and a sign of a poorly optimised art pipeline and review process.
Nobody, ever, needed to inflate a highpoly to match it better to the lowpoly. I have never seen such a stunt in the past 25 years, 20 years of which we are using normalmaps.
If you have tools that need such a thing, get better tools.
The goal is to capture the highpoly as good as possible in as little geometry as needed. Changing the highpoly pre bake is completely contradictory to that goal.
Well ... one can very well have "years of experience on treeple A" without having any experience working with others - resulting in odd workflows that would never work in production at a studio.
"Hey, we need to rebake this armor set" "Sure thing - just remember to inflate the high just a tiny bit, otherwise it won't look good"
...
At the end of the day :
- If the highpoly needs to be rounder, make it rounder. - There is no need for the gap between the low and the high to be filled, because this distance doesn't affect the normalmap. Only *normal* information gets written, not distance. - If anything, one thing that can happen is that people without much experience tend to surface-snap their low to the high without giving it any second thoughts, resulting in a low that is skinnier than what it should be especially if the density is medium/coarse - hence a final asset with less beef than the reference high. But that's completely irrelevant here ...
I think it would be best for The Mentor to provide some specific, practical illustrations. After all, perhaps some things got lost in translation.
As far as I am concerned the *only* case where I could see such an edit of the high being worth it would be that of a very poorly modeled high with weak/razor sharp edges in need of being fixed as fast as possible.
added some phong specular lighting to a normal mapped camera facing shader.
the top and bottom spheres are actual spheres for reference all the others are just quads which in reality looks like... though enlarged somewhat. something a bit more subtle... probably not that subtle without the phong spec....
In general: hard edges require corresponding UV splits for padding but UV splits do not require hard edges.
Hard edge placement is about controlling low poly smoothing
behavior and baked normal gradation. UV seam placement is about
optimizing usable texture space while also limiting texture distortion.
Bringing the two together it's about balancing visual quality with
resource efficiency. Using fewer hard edges and UV splits tends to be
more resource efficient but it's also important to make sure the final
product looks good.
There is an individual resource cost to both UV splits and hard edges but once the mesh is split by either it's split so stacking them doesn't incur additional overhead beyond the first split. This is one of the reasons why it's generally considered best practice to strategically pair and place hard edges and UV seams along natural breaks in the shapes.
Hard surface modeling tends to naturally produce shapes that have a lot
of matching UV splits and hard edges but this is less common on organic
shapes. The idea that every UV seam on every model needs to have hard
edges is unconventional. There may be some edge cases where this is done for artistic or technical reasons but it wouldn't be standard practice.
Bellow is some additional documentation that explains these concepts in detail.
@JBurk The underlying topology in both your examples, with some minor adjustments, could work. Which starting topology layout makes the most sense will depend on whether the shapes need a softer or sharper transition.
With subdivision modeling there's almost always going to be some kind of minor smoothing imperfection and it's important to consider whether or not this will be visible to players at normal view distances. If the smoothing artifacts are confined to a small area that isn't going to be regular focal point then there's often minimal benefit to spending a large amount of time removing the artifacts. When working on small details it's important to zoom out every once in a while and evaluate the overall read of the object's shapes and edge width highlight.
One thing to watch out for is edge width consistency: If the actual parts are made from a single material (like metal) then try to avoid inconsistent support loop widths around the major forms as this tends to muddy the visual read of the object. Parts cut from metal plates or machined from billets and precision castings tend to have a relatively consistent sharpness to their shapes. Rough cast parts tend to have soft shapes like draft, fillets and round overs that are interrupted by sharp machined surfaces. Mass produced plastics tend to have much softer edges and transitions with a lot of variation.
When blending curved surfaces into other shapes there's two basic approaches: placing the intersecting geometry on the existing edges that make up the cylinder walls and adding the support loops around the intersecting shapes or placing the intersecting geometry between the existing edges that make up the cylinder walls and using this existing geometry as support. It's also important to use the appropriate amount of geometry in the cylinder to ensure there's both enough room for additional support loops and enough geometry to hold the shapes without introducing cylinder wall deformation.
Below is an example that shows the basic topology progression for each approach. Top row is placing the intersection on the existing geometry in the cylinder and the bottom row is placing the intersection between the existing geometry on the cylinder.
Here's a comparison of wide and narrow support loops placed around the shape intersection generated by placing the intersecting shape directly on the existing geometry in the cylinder wall. To maintain all quad geometry this topology routing requires the number of segments in the cylinder match the topology around the corner of the intersecting rectangle.
Here's a comparison of wide and narrow support loops with a different topology routing that doesn't require exact segment matching between the cylinder and the intersecting rectangle. In this example the intersecting shape is placed directly on the existing cylinder wall geometry.
Here's a comparison of wide and narrow support loops when the existing cylinder geometry is used to support the shape intersection. Both shapes are placed with a slight offset and merged. This offset provides space for additional support geometry without disrupting the smoothing behavior of the curved surfaces.
There's a number of ways to handle the topology around this type of shape intersection and which layout makes the most sense will depend entirely on constrains from adjacent geometry, tools used to generate the support loops (manual placement with loop cut tools or automatic placement with modifiers) and overall mesh quality and shape accuracy goals. Most of these topology strategies work with or can be adjusted to work with modifier base support loop placement.
As far as the all quads requirement: there's a number of great discussions in this thread about how to use triangles and n-gons appropriately. Working under self imposed, artificial restrictions can really have a negative impact on the amount of time required to model a given shape and the overall quality of the final mesh.
It's important to compare different topology layouts on ease of modeling, smoothing behavior quality, edge highlight consistency, editing flexibility and topology cleanliness, etc. Blindly following popular mantras like "quads only" and "manual loop placement is superior" can really lead to some nasty habits that become massive time sinks without offering any tangible improvement to the final product.
Overall it looks like you have a pretty good start with the base mesh and will just need to adjust the support loop routing on attempt 2.
The vertical deformation in both attempts is caused by the support loops that run off the back of the tabs and down into the hemisphere where they disrupt the even spacing between the segments. There's a few different ways to resolve this so what's going to work best will depend on what the project constraints are.
If keeping the current mesh density is important then it should be possible to simply terminate the support loops into n-gons at the base of the shape intersection. There will be some minor shape deflection and subtle artifact but it will be limited to the very small transitional area around the shape and it's unlikely that it will be visible when the normal textures are baked down.
If a greater degree of shape accuracy is important then it will be necessary to increase the number of segments in the hemispherical base mesh so the support loops around the tabs can flow into the existing geometry around the shape intersection.
The horizontal deformation around the top of the shape intersection is caused by a lack of supporting geometry above the area where the two shapes merge. This can be resolved by simply placing a support loop (directly above the shape intersection) at the bottom of the tabs.
With subdivision modeling: Preserving the shape of the underlying geometry and either limiting the deformation to the small transitional areas around the shape intersections or consistently averaging out the deformation over a wider area will help reduce the severity of smoothing artifacts. Increasing the amount of geometry tends to increase the overall shape accuracy but also tends to reduce editability.
This is where balancing shape accuracy and modeling efficiency becomes important. Evaluate how closely the object will be viewed and determine how much geometry is required to accurately hold the shapes. If minor smoothing artifacts aren't visible at normal viewing distances then there's minimal benefit to spending a significant amount of time improving the results. Use the appropriate amount of geometry for the project's goals and the model's use case.
Here's an example of what this process could look like using a similar mesh density to attempt 2. The existing geometry in the hemisphere acts as support around the base of the intersection and the narrow support loops that sharpen the tabs simply end as n-gons on the surface of the hemisphere. A horizontal support loop is added directly above the shape intersection to control the upward deformation of the shape transition and can be moved up or down to adjust the width of the shape transition.
Here's another example that shows what this process could look like when geometry density of the hemisphere is increased to match the number of supporting segments in the tabs.
How much geometry is required depends entirely on how accurate the shapes need to be and how closely the model will be viewed. Triangles and n-gons are fine as long as they aren't causing any major smoothing artifacts at normal viewing distances. It's also helpful to try and maintain a relatively consistent edge width across similar materials since this will unify the shapes and the highlight roll off. Narrower (sharper) support loops read more like metals and machined surfaces while wider (softer) support loops read more like plastics and molded parts.
The last half dozen pages in this thread have a lot of great examples of common shapes and smoothing artifacts so it's worth taking the time to skim through this thread and see how other artists have solved similar smoothing issues.