Recently saw how texture atlases are used in other games to reduce the performance impact of individual textures. Basically, using a single texture/image for a large amount of objects. You see, the game only loads that texture in once, instead of loading one in for every individual model that needs it. This means that in a scene with let’s say, 1000 of these objects, only 1 texture file is loaded in. I am not really sure if I nailed the specifics, but it more or less works like this.
So I did this Roblox:
The style is inspired by Genshin Impact/Ghibli Studio works
(I used Substance Painter and Blender)
Wood. These two rows use 2 different texture atlases, one for the clean one and another for the mossy one. Essentially only 2 textures are used.
Stone. 3 rows, 3 texture atlases. Clean, dirty, mossy.
I also decided to add SurfaceAppearance into the mix. This uses 4 texture files, our previous colormap (base texture), normal map (for bumpiness), and roughness and metalness maps. Plus the performance impact of actually rendering these. Well I barely noticed drops in fps in studio, so I think this is also a win.
You might notice that the texture resolutions are pretty low, which is true because Roblox only allows 1024*1024 images to be uploaded. And I fit all of these textures into that small size, but in the end I don’t think its that noticeable or bad.
Feedback on the visual or technical side of things would be appreciated! Is this a good method for optimization on Roblox, or does it work differently from other games?