Home Technical Talk

Solid model vs attached separate parts

polycounter lvl 4
Offline / Send Message
ZangZing polycounter lvl 4

Hey guys. Recently I was wondering which approach is better. First model is cutted and welded, second one is just 2 meshes attached. Which one is better for games? Of course first thing is polycount, with 2nd model it's lower. Sometimes it's just easier to put one piece into another, not cutting and welding which increases polycount and overall time spent on modeling.
What do you guys think?

Replies

  • Nihilus
    Offline / Send Message
    Nihilus polycounter lvl 8
    Id say it depends mainly on the model and your workflow. Think about how it would be constructed in reality and try to mimic that.

    For example those two cubes could be separate objects but it would make sense not to just have them clipping into each other, there would be a join where they're connected (such as welding marks etc). If they are one object then that join would more likely be a softer form depending on how the object was made.

  • Axi5
    Offline / Send Message
    Axi5 interpolator
    Wherever possible, the first solution is better. The latter will lead to lots of wasted texel space, especially if this mantra is used all over the model. Further, the first is easier to deform in unison than the latter. The latter has it's uses though, on complex models that would be harder to manage if it was fully connected.
  • CrackRockSteady
    Axi5 said:
    Wherever possible, the first solution is better. The latter will lead to lots of wasted texel space, especially if this mantra is used all over the model. Further, the first is easier to deform in unison than the latter. The latter has it's uses though, on complex models that would be harder to manage if it was fully connected.

    I'm going to disagree with the sentiment that the first example is the better solution whenever possible, in fact for games the second example is more often than not a better solution.  It's highly dependent on the use of the model however.  Deformation is only important on a mesh that will animate (and deform during animation), which I would argue for games is a relatively limited number of cases.  Texel space is only wasted if you assume the object is uniquely textured and not utilizing tiling textures.

    The second example is going to be faster to model, easier to unwrap, easier to quickly make changes to, lower poly count, etc.  Especially for games these things are often more important than some wasted texture space or ability to deform.

    In some cases the first example is preferable (as Nihilus mentioned, if you wanted to bake a nice welding seam or rounded corner where the two pieces meet you'd want to weld the two objects) but I would definitely not say that it should be used whenever possible.
  • Axi5
    Offline / Send Message
    Axi5 interpolator
    Axi5 said:
    Wherever possible, the first solution is better. The latter will lead to lots of wasted texel space, especially if this mantra is used all over the model. Further, the first is easier to deform in unison than the latter. The latter has it's uses though, on complex models that would be harder to manage if it was fully connected.

    I'm going to disagree with the sentiment that the first example is the better solution whenever possible, in fact for games the second example is more often than not a better solution.  It's highly dependent on the use of the model however.  Deformation is only important on a mesh that will animate (and deform during animation), which I would argue for games is a relatively limited number of cases.  Texel space is only wasted if you assume the object is uniquely textured and not utilizing tiling textures.

    The second example is going to be faster to model, easier to unwrap, easier to quickly make changes to, lower poly count, etc.  Especially for games these things are often more important than some wasted texture space or ease of deformation.

    In some cases the first example is preferable but I would definitely not say that it should be used whenever possible.
    It is wasted texel space if you're using lightmaps however.

    Regardless I didn't mean "whenever possible" to mean "all the time except rare occasions", so I had wrongly phrased it. Both of these solutions are viable depending on the situation.

    On a uniquely textured model I'd opt for the former, on a tiling textured model I'd still opt for the former unless:
    1) I am expecting to make changes often
    2) The geometry would be too time consuming to carve in
    3) I had the intention of doing a SubD model with floating lip to it
    4) I simply don't care about spending more than 5 minutes on it
    5) I want the UV mapping to fit in a particular way

    I don't think UV mapping speed makes much difference, especially in OP's case since it's just a simple cube projection. You're bound to spend time in this area on more complicated models anyway, inserting that one extra seam isn't a big deal.

    If it's a static mesh model you should be triangulating before export anyway, fitting a Union bool + triangulate shouldn't take much time out of your day.

    I'm not saying it's always the best solution, but just that it's more complicated than that. Also the first option *should* outperform the latter, despite the increased vert count, since it's less fragments to render.
  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    I would agree with the comment by CrackRockSteady, it got to the point. The only thing I would like to add in here that noone have mentioned yet, is z fighting at distance. It wouldn't really happen with the particular mesh shown in the example, but it would definitely happen with thinner boxes. Its usually not so critical, but its definitely a thing when thin meshes are stabbed into each other like the second example. Especially at the intersection. But, like it was mentioned before, its case dependant, and games use tiling textures in a big percentage of cases. For a uniquely textured mesh, the first example is usually better.
  • CrackRockSteady
    Even on a uniquely textured model it often doesn't make sense to be welding objects together, though as we've already said, this is dependent on the model.  Just as an example from a model of mine



    Welding the spokes to the rim and the center wouldn't make sense for a variety of reasons.  

    While I agree that wasted space in a lightmapping situation is something to consider, in most cases where a modeler is choosing to use interpenetrating geo instead of welding objects together, the objects only penetrate a very small amount into each other.  The OP's example is obviously meant to illustrate a simple example of welded vs. interpenetrating geo. 

    Same case for unwrapping time.  Obviously the OP used an extremely simple example.  On a model of even moderate complexity, keeping things as separate elements can speed up UV unwrapping enormously, especially in cases with repeating elements that can potentially be unwrapped once and duplicated.  For some models the difference between welding vs not will be negligible and in those cases it may be better to weld things together.  In other cases welding complex objects together can become a nightmare for unwrapping.  Again this is situation dependent but personally i've found that in a production environment being able to unwrap a model in a day instead of 2 days is often more important.

    As far as expecting to make changes often -- expectation vs. reality are two very different things.  You'll often have no way of knowing if you'll need to make edits to your model midway through modeling or even after you think you're finished with the model.  Needs change all the time, art directors change their minds, whatever.  There are any number of extremely common reasons to need to make changes to a model that become a huge headache of you've welded all of your geometry together.

    Yes, this is something that needs to be decided on a case by case basis but my experience has definitely been that the OPs second example is preferable in the majority of cases.
  • Axi5
    Offline / Send Message
    Axi5 interpolator
    Yeah your example is a good case when the geometry should not be merged, for starters they're technically not considered part of the same surface since they're not carved from a single piece of wood. Referring to my previous post that mesh would fit my exceptions as (1), (2) and (5).

    Unfortunately, it's really not very comparable to OP's case, where there's clearly a large overlap of the main forms. So what you and me might agree on is that when an intersect is used: It should not intersect more than it needs to, which in OP's case is too large an overlap.

    I'm not dismissing intersecting geo as viable, I use it frequently all the time. There's a time and place for each though and I'm definitely not sitting there stitching every individual piece of  geo together that would be nonsense.

    > Yes, this is something that needs to be decided on a case by case basis but my experience has definitely been that the OPs second example is preferable in the majority of cases.

    Time and performance is a balancing act, but I also wouldn't say that more verts == worse performance if there is a larger fill rate hit from the model with less verts. I'd disagree that in his presented case it is the correct way to go, it simply isn't, there's far too much wastage and if every model was made like that performance would suffer considerably.
  • CrackRockSteady
    Oh, I absolutely agree with you that in the OPs presented case welding would probably be the preferable method.   It's just that the OP isn't asking about his 2-cube example specifically, he used 2 cubes as a simple way to present his question clearly.  His question is about welding vs. interpenetrating geometry as a general principle in games, which is what I was responding to.

    Also:  In my example, even if i was modeling some sort of wheel where the spokes, center, and rim were all carved from a contiguous piece of wood, I'd have still modeled it the same way.  Unless it's some sort of asset that I would expect a player to be inspecting extremely closely, there's not a good reason to weld everything together. 

    Yes, my example does fall into your exceptions.  My point was that in my experience, they're not exceptions, but rather the rule that a majority of models fall into, regardless of whether a model is uniquely textured or uses tiling textures.
  • Axi5
    Offline / Send Message
    Axi5 interpolator
    Oh, I absolutely agree with you that in the OPs presented case welding would probably be the preferable method.   It's just that the OP isn't asking about his 2-cube example specifically, he used 2 cubes as a simple way to present his question clearly.  His question is about welding vs. interpenetrating geometry as a general principle in games, which is what I was responding to.
    I think there's been some misunderstanding from my perspective on what the user was intending to do then, because my impression was that this method would be used throughout this user's entire modeling process. Clearly I'd taken the word "sometimes" as "often".

    @OP some hard rules if you use intersection geo:
    1) Never intersect more than is necessary
    2) Delete all internal faces that would never be seen i.e cylinder caps

    Intersect to your hearts content. You're golden.

    @CrackRockSteady I do feel that after our whole discussion though that my initial comment was still succinct, depending on how the phrase "wherever possible" is interpreted.
  • CrackRockSteady
    @Axi5 You know to be honest, it is entirely possible that the OP was asking specifically about large forms interpenetrating a lot, in which case you're absolutely right about the points you've made.  I assumed he was asking a very general question but I could be wrong about that.
  • Axi5
    Offline / Send Message
    Axi5 interpolator
    @Axi5 You know to be honest, it is entirely possible that the OP was asking specifically about large forms interpenetrating a lot, in which case you're absolutely right about the points you've made.  I assumed he was asking a very general question but I could be wrong about that.
    Ehh I doubt it, I reckon you're on the money. Regardless I think we've jointly answered OPs answer in a good fashion.

    Well, this is a very gentlemanly ending to an internet discussion, fancy a beer if you ever end up in London?
  • CrackRockSteady
    Axi5 said:
    @Axi5 You know to be honest, it is entirely possible that the OP was asking specifically about large forms interpenetrating a lot, in which case you're absolutely right about the points you've made.  I assumed he was asking a very general question but I could be wrong about that.
    Ehh I doubt it, I reckon you're on the money. Regardless I think we've jointly answered OPs answer in a good fashion.

    Well, this is a very gentlemanly ending to an internet discussion, fancy a beer if you ever end up in London?
    Agreed!

    Can hardly think of anything I'd enjoy more than a visit to a London pub sometime, you're on!
  • musashidan
    Offline / Send Message
    musashidan high dynamic range
    This was a fine bit of posting from you two. Question was solidly answered on every front through the use of civilised and lively discussion. Very mannerly. Top marks all round.

    Now if only this attitude 'trended' on youtube.............
  • ZangZing
    Offline / Send Message
    ZangZing polycounter lvl 4
    @CrackRockSteady @Axi5
    That two models was just an example, not specific models I've got problem with. Thanks for discussion, I didn't expect so many posts :)  So it really depends on the situation and lead/client wish. 

  • CrackRockSteady
    @ZangZing exactly.  As you become more experienced it becomes easier to make judgement calls for where to use one method or the other depending on specific needs of the model/project.  The more information you have about how the model will be used the easier it will be to make the call.
Sign In or Register to comment.