As a Roblox developer, it is currently too hard to use large meshes.
Problem:
Roblox collisions are extremely bad on large meshes. Mesh buildings and terrains have been out of the question all the way back since Free-D came out. Now, because Free-D was technially a hack, I can let it slide, but now that we have actual meshes in roblox, I think we should seriously consider finiding an alternative to the low-poly collision meshes.
Example Photos:
Solution
There are a few ways to fix this problem. Here are the ways I came up with:
-
Cumulative Triangle Count
If your game is small, you would rather have perfect collsion meshes because it will still perform fine with the high-poly collision meshes. So you could tell the game that you want your max triangle count to be cumulative of everything in workspace (i,e. there is a max of 50000 collision triangles in the workspace at one time or something). This would keep performance under control as well as make the collisions work. -
Collision Mesh editor
Roblox could have a built-in collision mesh editor that would recalculate specific parts of the mesh at the expense of another part of the mesh. This would allow us to take out unimportant parts of the mesh (For instance, a window too small to do anything with) and use the triangles that Roblox used on the unimportant part somewhere else in the mesh (like a vase on a table.) -
Imported Collision Meshes
Roblox could check the model for an instance called “Col_MeshName” in the imported mesh, and if the mesh has a good amount of triangles, it will use the predefined collision mesh instead of the Roblox-generated one. -
“Perfect” collision mesh Fidelity
A lot of games won’t need a whole lot of the “Perfect” collsion meshes due to the fact that most the time, default collisions work fine. But in the rare case that the whole gameplay of the game relies on one mesh’s collision (like an FPS map or something) this Collision Fidelity would come in clutch if all else doesn’t work. This would duplicate the original mesh and use it as a collision mesh. This would be useful on doorways, curvy hallways, etc.
Conclusion
Collision meshes are one of the most important pieces of a game. Without them, you have nothing but a 3D photograph. Collisions bring meshes to life, and having a perfect collision fidelity would be a whole lot better than attempting to split a mesh, then re-import each piece as it’s own.