The building style I adopted for a game I’m currently working on relies heavily on spheres and cylinders to create a smooth, cartoony and “bubbly” aesthetic.
Since memory usage can become a problem because of the potentially high poly count, I’m torn between the two following options:
Union operations on Roblox’s default spheres and cylinders meshes can result in a high poly count but fewer parts:
I would go for the option with the least triangles, I don’t know much about the topic but i’m always careful when it comes to the triangle count of things. If you are familiar with blender or any other program like it I would suggest making some models there, because it’s easier to control how many triangles there will be.
I’ve stated this on a few threads before: Total Polycount is not the number you should be looking at (respectively) since instancing can make those numbers wildly inaccurate.
Unions and MeshParts are instanced well, Parts are instanced incredibly well (the old term is featherweight). Instancing applies to anything that has the same properties/MeshId and are anchored. So even with a few thousand of those fence segments, so long as they’re identical, you should be ok.
That being said, I will say that unioned spheres are extremely high poly because the Roblox Sphere shape is extremely high poly (but that’s fine because it’s a Part, which means that the geometry is known and thus polycount doesn’t matter). But for unions it is not good. Instead, use an Iconosphere with a cylinder on the base, like this:
Here’s the .obj for you to use instead of a union.
Side tip for any Blender wizards out there: The Wood material’s grain always runs along the x axis, so if you rotate your mesh along the x axis (the red arrow) like in the picture, your wood grain will be correct if you’re making a post/beam/load-bearing object. (shout out to @WoodReviewer for sharing this wisdom)
I would try taking two copies of a blank baseplate; One being filled with x number of models using unions and the second game being filled with an equal number of those low poly meshes.
Then just play each of the games and use the developer console and the microprofiler to analyze how much memory the parts/meshes take up.
Then, go with whichever method is less taxing on the game.