Home Technical Talk

What's happening here and is this common practise...?

DustyShinigami
polycounter lvl 4
Offline / Send Message
Pinned
DustyShinigami polycounter lvl 4
Hi

I came across something strange whilst examining how the Hell Knight model from Doom Eternal was unwrapped. I swear I may have come across this before and possibly asked about it...? I'm not quite sure how this works. But also, is this common practise...?

Around the butt area, the top, bottom, and around the upper leg has cuts, but there's nothing there straight down the crack. :p



Hovering over the shell or selecting it, selects both sides of the upper leg. However, when looking at the unwrap itself, the far left side has no white line indicating there's a cut.



Moving the UV shell doesn't reveal a mirrored shell underneath either. So somehow both sides are overlapping...? But I don't understand how there's no cut down the crack/middle. I did notice the top and bottom cuts are not welded though, so I'm not sure if that's related. And if it is, how that works.



So if someone could shed some light on this, it would be much appreciated. :)

Thanks

Replies

  • Alex_J
    Options
    Online / Send Message
    Alex_J grand marshal polycounter
    a lot of times when models go through various import/export process the verts can come unwelded. sometimes duplicated and other strange things.

    if you can't see an obvious problem to which this is the solution I wouldn't think too deeply into it. If the texture lines up without any seam I think that rules out any sort of deliberate thing.
  • DustyShinigami
    Options
    Offline / Send Message
    DustyShinigami polycounter lvl 4
    Alex_J said:
    a lot of times when models go through various import/export process the verts can come unwelded. sometimes duplicated and other strange things.

    if you can't see an obvious problem to which this is the solution I wouldn't think too deeply into it. If the texture lines up without any seam I think that rules out any sort of deliberate thing.
    I should've mentioned - it's something I'd like to replicate. I've made my own version of the Hell Knight. :) It's a project I'd been working on a year or so ago and I've come back to it to fix up.

    I'm wondering if it was done deliberately. A thought did cross my mind though, which I might have to try... I'm wondering if the other side was mirrored/overlayed, maybe even had each point snapped over the shell below, and then the left side/edge was re-welded but without doing an Unwrap/Unfold afterwards...?
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    I can't think of a good reason to do it deliberately outside of an effort to fix baking artefacts but you could work around in other ways that don't screw you later on. 

    It most likely just got borked during an import/export process  - how did you get the model?
  • DustyShinigami
    Options
    Offline / Send Message
    DustyShinigami polycounter lvl 4
    poopipe said:
    I can't think of a good reason to do it deliberately outside of an effort to fix baking artefacts but you could work around in other ways that don't screw you later on. 

    It most likely just got borked during an import/export process  - how did you get the model?
    I guess so.

    I found it on DeviantArt. Loads of people manage to rip the models from PS4 games. Managed to do it myself with Elden Ring as well. Super useful to use the models for reference. :)
  • DustyShinigami
    Options
    Offline / Send Message
    DustyShinigami polycounter lvl 4
    Okay, can confirm that it's not an issue generated from importing/exporting. I believe it was intentional; I've just replicated it on my own model. :) I had to manually snap each point to the same point on the below shell as they didn't stack 100%. But then I just selected the centre cut and sewed it back. :)


  • Neox
    Options
    Offline / Send Message
    Neox godlike master sticky
    might be a last minute thing to save a few verts? otherwise its really not helpful in the process. might just happen on import into the engine.
  • Neox
    Options
    Offline / Send Message
    Neox godlike master sticky
    Okay, can confirm that it's not an issue generated from importing/exporting. I believe it was intentional; I've just replicated it on my own model. :) I had to manually snap each point to the same point on the below shell as they didn't stack 100%. But then I just selected the centre cut and sewed it back. :)



    but you offset the line one next to the mirror line, no?
    this looks like its mirrored on the center. to get the same, just unwrap one half, then symmetry, then weld the center line
  • DustyShinigami
    Options
    Offline / Send Message
    DustyShinigami polycounter lvl 4
    Neox said:
    Okay, can confirm that it's not an issue generated from importing/exporting. I believe it was intentional; I've just replicated it on my own model. :) I had to manually snap each point to the same point on the below shell as they didn't stack 100%. But then I just selected the centre cut and sewed it back. :)



    but you offset the line one next to the mirror line, no?
    this looks like its mirrored on the center. to get the same, just unwrap one half, then symmetry, then weld the center line
    I'm not quite sure what you mean by your first question. ^^;

    But yes, unwrapping one half and then adding symmetry would've been much easier. ^^; Welding the centre line afterwards would've yielded the same results lol
  • DustyShinigami
    Options
    Offline / Send Message
    DustyShinigami polycounter lvl 4
    Also, is it perfectly fine to have UV shells at an angle like this? I've always been taught to have them horizontal or vertical.


  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    "I've always been taught" ... by who ?

    There's a world of difference between best practices and recommendations which can only be generic, and the specifics of a given model developed under (also very specific) circumstances.

    This is obviously a "one off" model. This is completely different from a model made to be modular or destined to be a basis for others. And then there's always the possibility that it was done by an external vendor. Just looking at it won't tell you much - if anything it could very well be breaking the best practices supposedly used on this project, but got shipped anyways because ... reasons.

    Similarly you'll never get a clear cut answer on a topic like that butt seam being welded on itself on the ripped model. Just looking at the model will never tell you the whole story about how it got made - even more so after it going through multiple exports and rips.

    For instance, a vendor not following the tech bible of this project may have decided on their own to "harden all UV islands" (like many still blindly do, even though it makes zero sense and is just a misunderstanding that has been sticking around for more than 10 years now). If that happened the team then had no other choice than going along with it since welding/smoothing would require a rebake or a somewhat delicate normal map transfer.

    And then the engine and/or the model ripper might treat hard edges as splits, since from the GPU perspective they are the same thing.

    Lastly, even though stacking mirrored pieces instead of cleanly offsetting them is definitely bad practice, it doesn't necessarily justify wasting hours to get it edited by a team member who probably has better things to do. All that to say that no, you can't necessarily infer "100% good practices" just by looking at model rips. Especially since the engine may have its own quirks one may not be aware.

    - - - - -

    Also, the thread is somewhat hard to follow as these two screenshots are from different models. So I suppose you're branching off to a different question here about the angled pieces.




  • DustyShinigami
    Options
    Offline / Send Message
    DustyShinigami polycounter lvl 4
    pior said:
    "I've always been taught" ... by who ?

    There's a world of difference between best practices and recommendations which can only be generic, and the specifics of a given model developed under (also very specific) circumstances.

    This is obviously a "one off" model. This is completely different from a model made to be modular or destined to be a basis for others. And then there's always the possibility that it was done by an external vendor. Just looking at it won't tell you much - if anything it could very well be breaking the best practices supposedly used on this project, but got shipped anyways because ... reasons.

    Similarly you'll never get a clear cut answer on a topic like that butt seam being welded on itself on the ripped model. Just looking at the model will never tell you the whole story about how it got made - even more so after it going through multiple exports and rips.

    For instance, a vendor not following the tech bible of this project may have decided on their own to "harden all UV islands" (like many still blindly do, even though it makes zero sense and is just a misunderstanding that has been sticking around for more than 10 years now). If that happened the team then had no other choice than going along with it since welding/smoothing would require a rebake or a somewhat delicate normal map transfer.

    And then the engine and/or the model ripper might treat hard edges as splits, since from the GPU perspective they are the same thing.

    Lastly, even though stacking mirrored pieces instead of cleanly offsetting them is definitely bad practice, it doesn't necessarily justify wasting hours to get it edited by a team member who probably has better things to do. All that to say that no, you can't necessarily infer "100% good practices" just by looking at model rips. Especially since the engine may have its own quirks one may not be aware.

    - - - - -

    Also, the thread is somewhat hard to follow as these two screenshots are from different models. So I suppose you're branching off to a different question here about the angled pieces.




    Firstly, it's definitely the same model. Just a different texture set. :) The first is of the leg and the other is the torso and arms.

    Based on my research before I started my own version, I believe the model was made by Jason Martin who works at id Software. I even remember asking him a few questions at one point, such as the dorsals of the feet/legs being based on that of a dog.

    https://www.artstation.com/believerdeceiver

    To be fair, I could ask him, but there's no guarantee he'll respond. He didn't to the last message I sent. :-\
    Oh, and I was taught that by a lecturer.
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    The thing about the angling of the pieces is that both approaches are perfectly valid and are not mutually exclusive. The lecturer mentioned that it can be best to lay things straight for all kind of valid reasons ; and the artists at ID did things the way they did on this hellknight model also for all kinds of valid reasons.

    The same is true for the other topics about the UVs and edges.

    You'll end up constantly running in circles if you keep hoping to extract some kind of absolute gospel exclusively from either or. That's just not the way things work. On top of that, the fact that a model is greenlit to ship says nothing about it 100% adhering to some nebulous "best practices" or even to the tech bible of the studio.
  • DustyShinigami
    Options
    Offline / Send Message
    DustyShinigami polycounter lvl 4
    pior said:
    The thing about the angling of the pieces is that both approaches are perfectly valid and are not mutually exclusive. The lecturer mentioned that it can be best to lay things straight for all kind of valid reasons ; and the artists at ID did things the way they did on this hellknight model also for all kinds of valid reasons.

    The same is true for the other topics about the UVs and edges.

    You'll end up constantly running in circles if you keep hoping to extract some kind of absolute gospel exclusively from either or. That's just not the way things work. The fact that a model is greenlit to ship says nothing about it 100% adhering to some nebulous "best practices" or even to the tech bible of the studio.
    Hmm. Fair point. Just thought it was a little strange. I guess it's because of the 'rules' that are hammered into us by lecturers that aren't always 100% accurate. Such as most studios using 3ds Max, which I know isn't true. Or that everything MUST be in quads when tris are perfectly valid in certain situations.
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    To be fair, even though there is of course a lot of loose and sometimes inaccurate information floating around because of random 3d kiddies making so-called tutorials, I have a hard time thinking of anywhere where such "rules" (or inaccuracies ...) are being hammered by anyone on anyone. And particularly not by artists who actually worked in production at game studios.

    The lecturer mentioning that it is best to lay things straight (and perhaps even insisting that models should be treated that way for a given assignment) was *not* making an inaccurate statement. The inaccurate thing would be to hear it as "all UVs absolutely have to be straight, all the time, for all models, always !"
  • dimwalker
    Options
    Offline / Send Message
    dimwalker polycounter lvl 15
    pior said:
    For instance, a vendor not following the tech bible of this project may have decided on their own to "harden all UV islands" (like many still blindly do, even though it makes zero sense and is just a misunderstanding that has been sticking around for more than 10 years now). If that happened the team then had no other choice than going along with it since welding/smoothing would require a rebake or a somewhat delicate normal map transfer.
    Hard UV shells - do you mean assigning different smoothing groups (in max terms) for each shell? Vertices are already separated there GPU-wise so what's the harm in separating smoothing groups too?
  • Neox
    Options
    Offline / Send Message
    Neox godlike master sticky
    pior said: And then there's always the possibility that it was done by an external vendor.

    OUCH! :D
  • DustyShinigami
    Options
    Offline / Send Message
    DustyShinigami polycounter lvl 4
    dimwalker said:
    pior said:
    For instance, a vendor not following the tech bible of this project may have decided on their own to "harden all UV islands" (like many still blindly do, even though it makes zero sense and is just a misunderstanding that has been sticking around for more than 10 years now). If that happened the team then had no other choice than going along with it since welding/smoothing would require a rebake or a somewhat delicate normal map transfer.
    Hard UV shells - do you mean assigning different smoothing groups (in max terms) for each shell? Vertices are already separated there GPU-wise so what's the harm in separating smoothing groups too?
    Yeah, I was wondering about this, too. But completely forgot with things on my mind. ^^;
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    @dimwalker , @DustyShinigami

    "Hard UV shells - do you mean assigning different smoothing groups (in max terms) for each shell? Vertices are already separated there GPU-wise so what's the harm in separating smoothing groups too?"

    Of course I won't blame you for asking a question, but this kind of "what's the harm" stance backed by some largely irrelevant tech justification is precisely how misinformation and bad practices spread, and how a project can end up with a convoluted (and sometimes straight up broken) pipeline. Because what is missing here is the experience of actually crafting organic models.

    In some abstract theory land one could argue that "it doesn't matter, math is just math, the normalmap will be calculated to match anyways". But in practice that would introducing infinitely hard edges on the surface of something that is supposed to be perfectly smooth, and then asking for a normalmap to compensate for something it shouldn't have to (and breaking down catastrophically as texture resolutions gets lowered). Not to mention that some bakers may split the direction of the cast rays according to the mesh normals.

    In context, a hand for instance would end up like the mess shown on the right here (and then requiring for the 3D lead to step in and waste a day to smooth out everything, rebake the asset and update/reintegrate multiple files - if that is even possible)



    The right side is obviously bad practice.

    The only reason I can think of why some people still do this after 10+ years of the baking workflow being the norm, is because they misunderstand the following : *if* a model has a hard edge somewhere (for whatever justified reason), *then* this edge needs to be a split on the corresponding UVs layout because otherwise it would create a bleed of opposide normalmap values over the edge, hence broken shading.

    BUT no, each UV island 👏 absolutely 👏doesn't 👏 need to be hardened. And as shown above this isn't just a mere personal preference, as doing so can have practical, bad consequences on the final asset and shipped product. And that's probably the one thing that would deserve to be "hammered in" once and for all ...

    @Neox
    This genuinely made me laugh out loud :D
  • DustyShinigami
    Options
    Offline / Send Message
    DustyShinigami polycounter lvl 4
    pior said:
    @dimwalker , @DustyShinigami

    "Hard UV shells - do you mean assigning different smoothing groups (in max terms) for each shell? Vertices are already separated there GPU-wise so what's the harm in separating smoothing groups too?"

    Of course I won't blame you for asking a question, but this kind of "what's the harm" stance backed by some largely irrelevant tech justification is precisely how misinformation and bad practices spread, and how a project can end up with a convoluted (and sometimes straight up broken) pipeline. Because what is missing here is the experience of actually crafting organic models.

    In some abstract theory land one could argue that "it doesn't matter, math is just math, the normalmap will be calculated to match anyways". But in practice that would introducing infinitely hard edges on the surface of something that is supposed to be perfectly smooth, and then asking for a normalmap to compensate for something it shouldn't have to (and breaking down catastrophically as texture resolutions gets lowered). Not to mention that some bakers may split the direction of the cast rays according to the mesh normals.

    In context, a hand for instance would end up like the mess shown on the right here (and then requiring for the 3D lead to step in and waste a day to smooth out everything, rebake the asset and update/reintegrate multiple files - if that is even possible)



    The right side is obviously bad practice.

    The only reason I can think of why some people still do this after 10+ years of the baking workflow being the norm, is because they misunderstand the following : *if* a model has a hard edge somewhere (for whatever justified reason), *then* this edge needs to be a split on the corresponding UVs layout because otherwise it would create a bleed of opposide normalmap values over the edge, hence broken shading.

    BUT no, each UV island 👏 absolutely 👏doesn't 👏 need to be hardened. And as shown above this isn't just a mere personal preference, as doing so can have practical, bad consequences on the final asset and shipped product. And that's probably the one thing that would deserve to be "hammered in" once and for all ...

    @Neox
    This genuinely made me laugh out loud :D
    That issue on the right is something I've encountered or done before. ^^; But I can't remember if I gave both sides/shells a separate Smoothing Group, or the same one, to get the issue. :-\ In Maya, it wouldn't be an issue in Maya as I can just select the entire thing and give it Soft Smoothing.
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    This is not an issue that people get by mistake - or if it is, this would be a very rare occurence coming from not understanding ones modeling software. (In both Maya or Max (or Blender) this would only happen after a very explicit operation. And this is trivial to correct in all software really ...

    So yeah it is something that, for some reason, some people weirdly believe has to be done even though it  is absolutely shouldn't be - especially on organic models.

    (BTW quoting whole messages in replies makes the thread very tedious to read)
  • dimwalker
    Options
    Offline / Send Message
    dimwalker polycounter lvl 15
    pior said:
    @dimwalker , @DustyShinigami

    BUT no, each UV island 👏 absolutely 👏doesn't 👏 need to be hardened.
    I'm not trying to convert you to "dirty normal splitter", rather trying to figure out if there is actually a downside to hardened shells. Not saying each UV seam MUST have normal split, but that it CAN. Insisting it should NEVER be split (apart from what is dictated by necessary hard edges) is just as wrong imho.

    Having "less wavy" normals has advantages besides just aesthetics. It works way better when you are using same textures for LODs. Yes, obviously it will be bad since map was baked for different geo, but wavy version would look noticeably worse even at a distance where your LODs kick in. Normal baked to lowpoly with hard-shells might compress better and also would have less issues with skewing.

    I don't understand example with hands. Isn't those just low poly meshes without normal maps? If so, then right one is only a mess if it's unintentional.
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    Hello !

    The example with the hands is really as straightforward and self-evident as it can be. If a modeler on a team made the model the way shown on the right, for a bake supposed to capture smooth skin/organics, it simply would have to be redone after removing these hard edges because they are not only unnessary, but actually detrimental to the pipeline and to the look of the asset once in game. Because if the engine scales down the textures for memory/performance needs (or to port the game to lower specs), then all of the sudden some infinitely hard edges would appear in the middle of a smooth organic model. This is *never* desirable. Ever. And making a normalmap work harder than it needs (smoothing out an infinitely hard edge put there for no reason) is completely backwards.

    And perhaps things are getting lost in translation too. "Each UV island doesn't need to be hardened" (true) is NOT the same statement as "UV islands should never be hardened" (false).

    The thing you mention about avoiding waves (like at the meeting of two sharply connecting concave surfaces) is a completely different story. Because when that is the case, the order of events is the other way around : the hard edges are placed where needed by design for very good reasons first ; and then UVs are crafted accordingly, making sure that every proactively hard edge placed on the model is a split of islands in the UVs (to avoid any bleeding of values over the edge). This is of course completely correct and desirable.

    Just give it a bit more though and test it out with practical examples and it'll make sense.

    TLDR : the hand example on the right illustrates what happens when people decide for no reason to "harden all UV islands" on something like a smooth organic character or even the barrel of a firearm. This is obviously terrible practice that only comes from a deep misunderstanding of the above topic.
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    Here's another practical example that should (hopefully !) settle this ...



    Now to be fair I would agree that this does indeed require a bit of thought as well as some practical experience to wrap one's head around it ! But at the same time this really isn't anything new, and it becomes really quite self-evident when working on models with smooth parts - like as said the limbs of a character body or the cylindrical barrel of a gun ...

    As far as I am concerned the only situation where I would consider the bruteforce approach of "let's harden all UV islands because reasons" to be an option ... would be if a pipeline was requiring it for some obscure broken reason than never got fixed. Or, if external vendors (them again ! :D ) just didn't comply with the tech bible of the project and didn't understand where to place selective hard edges, and/or kept forgetting to split UVs where needed.
  • DustyShinigami
    Options
    Offline / Send Message
    DustyShinigami polycounter lvl 4
    dimwalker said:
    pior said:
    For instance, a vendor not following the tech bible of this project may have decided on their own to "harden all UV islands" (like many still blindly do, even though it makes zero sense and is just a misunderstanding that has been sticking around for more than 10 years now). If that happened the team then had no other choice than going along with it since welding/smoothing would require a rebake or a somewhat delicate normal map transfer.
    Hard UV shells - do you mean assigning different smoothing groups (in max terms) for each shell? Vertices are already separated there GPU-wise so what's the harm in separating smoothing groups too?
    Yeah, I was wondering about this, too. But completely forgot with things on my mind. ^^;
    So just to double check for in the future, I'm guessing when I have made this mistake in the past, it was because I assigned a Smoothing Group to one side of the hand UV (1) and then another (2) on the other side. So am I right in saying that both shells would need the same Smoothing Group (both 1 in this case)? Or, is it just better to unwrap the hands so the shell opens out like a book? This would obviously be the easier option.

    Thanks
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    Hi there,

    Please re-read my posts above carefully, and also please manipulate actual model examples like a hand or a an analog to that spherical grenade/vial thing. As only thinking about these things will not get you very far - it just has to be manipulated to be grasped.

    In the case of the hand, it wouldn't matter at all (outside of preferences/practicality of course) if the UVs where made as two islands, or made of a single piece "joined at the hip" (like a butterfly/rug pelt or an open book as you said), or made of 12874525 pieces.

    What matters is that hard edges (I'll avoid using the term Smoothing Groups, as SGs are just a different Max UX to achieve exactly the same thing : edges selectively marked as hard for shading) are to be designed first, placed as needed in order to accommodate a later clean baking and separation of surfaces as well as sharps changes in surface direction. And then the unwrap is done accordingly, making sure that any edge that was set to sharp becomes a split - and the rest is just unwrapped like any other model would be. Not the other way around. As said, there is not a single reason for a hard edge to appear on a smooth sphere or along the side of a cylinder (whether it corresponds to a UV island border or not). There just isn't.
  • Ghogiel
    Options
    Offline / Send Message
    Ghogiel greentooth
    The way I think about it is> hard edges are for mesh shading. Spliting the UV once the only concern about using hard edges is addressed is basically using the button to convert hard edges to UV seams. aka stop using the convert UV seams to hard edges button, you are doing it backwards :#
  • DustyShinigami
    Options
    Offline / Send Message
    DustyShinigami polycounter lvl 4
    Ghogiel said:
    The way I think about it is> hard edges are for mesh shading. Spliting the UV once the only concern about using hard edges is addressed is basically using the button to convert hard edges to UV seams. aka stop using the convert UV seams to hard edges button, you are doing it backwards :#
    I recall asking a similar question once before on here and I got a range of replies. I asked if you could add Smoothing Groups AFTER unwrapping or do it BEFORE the unwrapping. I swear the overall consensus was that it’s fine either way, but that doing it before was preferred and the wisest choice.
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    Well, the thing is, preference does not matter one bit here. It's not about "what do you think should come first", it's about understanding why it is actually being done. I know I am sounding like a broken record but please do take the time to work on something similar to the spherical thingie I've shown as an example. I can guarantee that if you take the time to actually work on it you'll understand.

    Also ... there's really no such things as "before" or "after" unwrapping. Modeling and unwrapping are not two things that happen separately in succession like the bullet points of video tutorial from a 3d kiddie. They inform each other. Just like how texturing doesn't really come "after" the unwrap : the unwrap is done with texturing in mind.
Sign In or Register to comment.