Hello! In this post, I will explain the performance benefits of using 3D models in Roblox Studio instead of Roblox Studio’s built-in building tools.
Reason 1: The up-coming update of PBR textures will reduce the need for geometry-based detail
PBR materials are materials created using multiple textures. The textures usually used in a PBR material are:
- Diffuse/Color map
- Metalness map
- Specular map
- Roughness map
- Normal map
- Bump map
How this works can be complicated to understand at first, but I will try my best to explain. The diffuse/color map has the color information of a texture (for example it would have the information like the leather seat texture is red). The metalness map will tell the PBR material how metallic the PBR material should be. The specular map will tell the PBR material how strong the highlights should be on a PBR material. The roughness map will tell the PBR material how reflective the PBR material should be.
The normal map will tell the PBR material where the crevises are and where the material extrudes. For example, a normal map may tell the PBR material that a wood texture has crevises in between the wood. The render engine or game engine uses this data to fake light hitting it. This reduces the need to add geometry to get your object to interact with the light since the render engine or game engine can fake it. The bump map and displacement map have a similar purpose to normal maps.
Together, these PBR materials can be used to fake detail without actually having to use geometry to add detail.
Normal maps with characters
Reason 2: Roblox’s roadmap shows that Roblox is soon adding LODs
LOD (Level of Detail) is a feature in-game engine that reduces the number of triangles or polygons in a mesh as the player walks further away from it. This means that meshes further away will render faster since there is less geometry to render.
Reason 3: 3D models can be easily reused
You don’t often need a unique 3D model for every object in your scene. Your scene can still look diverse and complete even when you use the same 3D models multiple times. The goal when reusing the same 3D model is to scatter it correctly. This means rotating it, scaling it, placing variations of it, etc.
When you use the same 3D model multiple times, you will have fewer issues with memory usage.
Imposters are extreme versions of LODs that use a very low number of polys (5-6) and use images to fake a 3D look. This is useful for meshes very far away.
Culling is like Streaming Enabled for but for meshes. If a mesh is a certain distance from a player, it will not render.