Separate or Merge Objects

I have been thinking about something. I know you don’t want overlapping geometry. But for example, below is the boiler of my locomotive and some rings around it. I have separated the mesh to not get any problems and to not waste texture space. But realistically the boiler should just be one piece.

So my question is. Are there any benefits with texturing or otherwise if the object is merged as one piece?

1 Like

Interesting question!
I also, sometimes struggle with this matter.

But I don’t think you want to save space on geometry but textures.
In the old days, loading bitmaps into a game could add waiting time to the system.
You can only load one image from the hard drive. You wanted to speed up this I/O process.
hence creating a single bitmap with all textures included. In a puzzling layout to save space and compact the image.
It is still a problem today, but it will load more like loading just in time.

I’m not creating game-related stuff, so it’s concerning to me, that much.
But I’m also not sure what kind of problem you are trying to solve?


  • You can add multiple materials to the same object and assign them to certain faces (loops)
  • Unwanted stretch of the texture due to the division-modifier can be fixed by using the “mean crease” setting.
1 Like

It would never occur to me to separate out bits like that.
I do not believe it achieves anything useful.
This may well depend on uses to be made of the model, even so I do not think it helps games much either.

I suppose it saves time marking seams?

Only thing you want to avoid is geometry fighting for the ‘same’ space.

1 Like

Difficult question to answer because as with all modelling techniques, just about anything can be useful and there are all sorts of edge cases.
To be honest I find it strange to keep these as one object if you have actual cuts in geometry, if I were to separate pieces (and I assume you do it by material) I would keep them as separate objects.

I’m not 100% sure if by merged you mean with no cuts in geometry, as in the verts are actually merged or just merged as in having all these pieces in one object. There are possible benefits for texturing in having it both ways to be honest and it mostly depends on your use case, though I find that these kinds of cuts are mostly the same as just having seams.

There is an edge case for using this kind of cut for creating bevels/seams via geometry smooth shading like so:

img

There is a supporting loop and an “indented” loop:

img

Smooth shading takes care of the rest.

When it comes to texturing you could for example select each loop and unwrap it separately then recycle the same texture for each loop if they share the same pattern, which is more efficient for games, but the same can be achieved just by seams.

Keeping the parts separate can be both an advantage and a disadvantage if texturing via substance painter, purely depending on if you want to texture the pieces separately or together with the main tube. Which one you choose depends on your preferred workflow really.

IDK probably could spend more time thinking of pros-cons of this but it really just boils down to what you want to do with your project and what workflow works for you. If keeping these pieces separate like that helps you then I don’t see a reason not to do it.

1 Like

It’s not really a problem I’m trying to solve. It’s just that I often separate an object like this with the reasoning of not wasting texture space that cannot be seen underneath. If you have less geometry that need textures, you can scale the textures to higher resolution on your UV map.

But if the object, the boiler in this case, is merged as one object underneath the rings, it will unwrap as one easier to manage piece in the UV layout, look neater in the viewport, and be more realistic because the boiler is actually one big piece of welded together metal in real life. BUT the geometry underneath the rings, regardless if it has textures or is marked out with seams, will not be seen and is in that regard wasted.

In this case I’m just talking about the boiler, but just like you I’ve come across this question often. And if you have a scene with many cases like this, the decision to separate or merge objects together might have a big impact on performance. And also I was just curious about any other benefits or disadvantages of having the mesh separated or merged.

For me, this is a question about game optimization. And I know it is something that probably depends on the situation. But for simplicity’s sake, in the case of the boiler, if you had to choose, would you have it as one merged mesh or cut it up like I have done?

2 Likes

I think my main points on why the matter is useful have been mentioned in my answer to @FedPete. But yes, you might be right. It might not have a big impact on anything. But in my mind, If I know that I’m going to be doing something over and over again, I would love to find the optimal way of doing it.

1 Like

Oh yes, let me clearify. What I mean by merged is having no cuts. Just as you said, the rings around the boiler will have a different material and I would prefer to have them separate.

And yes, maybe I should have mentioned that, I actually want to bring it in to Substance Painter eventually. But I only took CG Boost’s course on it a few months ago so I’m not very experienced. In the case of SP, since you seem knowledgeable, would you “cut” the boiler or not?

2 Likes

Your reply to FedPete has clarified the situation a bit more for me.
In terms of games, it’s probably not as important to save texture space as much as geometry since geometry tends to be more expensive.
So if you want the loops to be a separate object for whatever reason (maybe it’s something you can change the look of in-game for example) instead of having cuts in the main boiler tube it’d be better to have it all as one piece where you can, since you could get rid of several geometry loops that way, though you also save some geometry by having the cuts… The amount of texture space you waste in this case is not that big anyway imo. It’s something to judge on a case-by-case basis.

If the loops are static then I see no real reason for them to be separated but you’re also not really adding any extra geometry just by having the cuts so idk. It’s probably a little less efficient because there is an extra set of verts for each loop but I’m not knowledgeable enough to know how much effect this really has. In modern game engines, I’d wager not that much unless there is a lot of it.

Also for games, it’s generally preferable to keep all pieces in one object if you can but it’s fine if the geometry is not merged, so long as you don’t have any visible gaps. You would then apply masks like metalness and roughness to differentiate different materials and pieces.
Of course, that’s not always the case like in the small example earlier, so again case by case-by-case basis.

I personally wouldn’t cut it, since SP can apply different masks based on geometry data such as angle, direction of normals, ambient occlusion etc. and the cuts will interfere with that. They will make applying dirt and grime masks much harder. At least they would in 2018 version of SP anyway which is the one I own, not sure how never versions work lol :yum:. There is always a chance newer versions work like Blender’s bevel node which will work even on intersecting geometry :man_shrugging:.
You also ideally should have everything as one material when exporting for Substance, otherwise it’s a headache to manage.

There are many ways you can optimize a model for games to be honest and it just depends on how far you’re willing to go with it and what your priority is. If sick textures are your priority then you can add geometry to support it. If you’re going for a low poly style with minimal textures then you want to optimize for geometry. In other cases time > optimization so you don’t want to optimize at all. There is no right or wrong answer that would apply to every situation, it all depends.

2 Likes

Thanks for your answer. I think you clarified some things for me.

This is helpful. I thought it was the other way around. But that is probably multiple texture maps and not texture space I’m thinking about. Like if you have a multitude of cases like this on a large model and all of the extra faces that are not cut away add to the texture space and forces you to add another texture map to retain quality, it would be better to cut them away. But idk, for texture space too, if all the extra faces that are not cut away take more texture space, it also means less texture resolution for the whole UV map. Maybe it doesn’t make that big of a difference.

For the loops, they are slightly extruded. I thought it would be easier to drag and drop the textures onto the mesh if it was separated, but I suppose it’s pretty easy to mask them out. So now when you say it, I might be better off just having the loops merged to the boiler so that SP can calculate AO, dirt, grunge, etc. where the edges meet if I wanted that, and so I don’t have two loops of vertices lying ontop of each other. Would I need a very small rounded bevel between the boiler and the loops for SP to manage that or could it be a straight extrude?

I think this is a main thing I was wondering about, if the cuts would interfer with the texturing process. I would keep the boiler without the cuts in that case. Unless I merge the cut edges with the extruded loops that is.

Yes I’m aware of this.

There is one more thing I should explain. My whole locomotive is made low poly but is subdivisible. So I want to do two things, have a sick 4k realistic render of the scene, but then also be able export it to a game engine in its low poly unsubdivided version with high poly textures baked on it.

Anyways, I think I have a pretty good idea on how to move forward now. Appreciate the time you put into explaining your understanding. :grin: I tried to cover most things you were talking about.

1 Like

It can just be an extrude. To clarify though, AO maps might still work with the cut in geometry since they’re generated based on face proximity from my understanding, but angle-based maps wouldn’t since the geometry is not connected so there is no angle between faces to calculate from.

If you want a bevel you can duplicate your model and create a version with bevels on it, then bake the bevels into a normal texture and use that in Painter. Using geometry for bevels is really something you only do when you really don’t care about optimization. Though in some games I’ve seen bevelled edges “rounded off” with a single-faced bevel to not have the sharp edge sticking out.

They will make a difference but they can also be helpful. For example, texturing around the cut will give a clean edge since it’s based in geometry, whereas masking it via a texture will give you a pixelated one. It depends on how you’re planning to texture the model and what for.

2 Likes

I see, I will keep what you said in mind. Now the most important part remains, my own trial and error in actually doing it. :wink:

2 Likes

I feel like once you actually do it you’ll learn what makes the difference yourself lol, it’s the best way for you to wrap your head around it.

2 Likes

Yeah I know, I think it’s just this nonsensical idea that I have of getting the model “perfect” before I start texturing. Sometimes you just gotta do it and not overthink too much.

1 Like

Yes, I would choose merged mesh and use:

  • A. Different material on faces
  • B. mean grease option parameter to fix texture positioning with subdivision modifier.

For blender usage like illustrations and animations.

For gaming purposes: Low poly (from high poly models) single mesh, large (single object) image bitmaps (depends on scale and details).

2 Likes

Noted, will keep this in mind, too. Thanks!

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.

Privacy & Terms