Which is more performance friendly?

Specifically in a large game exclusively using smooth plastic as material.

Option 1: having a model with 2-3 separate untextured meshes using Roblox materials and colours.

Option 2: exporting the meshes back into blender after deciding on the correct color and then baking the vertex color data onto a 1x1, 256 or sometimes a 512 resolution texture. And then exporting the now single mesh into Roblox.

The most simple and common method is obviously option 1, however would the difference in performance be significant enough to go through the trouble of using option 2?.

If anyone has any insight - I would be very grateful, thank you.

2 Likes

Using option 1 sounds a lot easier to work with if you’re planning on some sort of customization for these meshes, and I think it would save on performance because if you’re implying that option 2 is creating a bunch of different meshes for each customization option, then ContentProvider would be loading each of those meshes over and over again, vs loading the 3 meshes you’re using and ending it there.

So for example, in option 1 I import a tree which consists of 2 separate meshes. One for leaves and one for trunk, I color them in studio to get the most accurate result. I am left with 2 seperate meshes.

In option two I would take this tree back to blender, unwrap it and bake the color data onto a 1x1 texture. I then import the tree back into studio as a single mesh.
The benefit is that there is 1 less mesh to load and the downside is that there is now a texture that needs to be loaded.

Oh, if it’s not a matter of customization and just a tree, then I recommend texturing it and making it one mesh. That would be the most practical for this scenario.

The better solution for method #2 is making a kind of trim sheet to use for more than one or a few assets. This is a single 256x256 texture reused for 22 assets, which with this method allows for more customization than the generic Materials:



(obviously the UVs all together is a Hot Mess)
This is common practice with most games, and is usually intended for minor assets (trees, rocks, trash, clutter, etc) that still want to look Good Enough for most environments. For major assets, it’s typically given its own texture due to importance and visibility.

3 Likes

I see, I don’t have much experience texturing for Roblox specifically. Never knew it was possible here. Thank you, will try it out.