@felipe2008si @1Arenio @ffrostfall @Beloathed
Re: Triangle limit
First off quick caveat, our team works on the importer, but we do not work on the rendering, and the triangle limit is a hard rendering limitation.
This is my best-effort attempt at trying to provide a little bit more clarity as to the reasoning for the limit from someone who doesn’t work on rendering code.
The TLDR is: Roblox runs on so many devices, a large amount of which are very low-powered devices (e.g. old phones). Because of this, our rendering code has to be able to work reliably on all these devices which in turn imposes limits across the platform.
I believe one of those limits is that we cannot assume that 32-bit indices are available which forces us to work with 16-bit indices. Not all meshes are equal, and if you do the math, it is possible that you could construct a mesh that has >20k triangles with 16bit indices… Yes, but our limit is in triangles and not vertices, so we must have a triangle limit where no mesh with that triangle count can exceed the vertex limit. And this is how we end up with 20K triangles (It’s actually 21K I think).
It might be confusing if we switched to a vertex count limit, because the vertex count in your editor may be under the limit, but when you import you find you are above the limit. This is because editors and game engines usually count vertices differently. E.g. a 3D editor may say a cube has 8 vertices, but Roblox says it has 24 vertices, because each face has a different normal and thus cannot share any vertices with neighboring faces.
Note: I am not a rendering engineer, but I did discuss this with folks who have experience on this topic
As for what we are doing about it, this is something that is getting actively looked at. We are not satisfied with the current state; an arbitrary bit-width operating-system limitation should not restrict your ability to express and create. I unfortunately can’t provide more details than this (both because of lacking information and also because no decisions have been finalized at this time).
Hope this satisfies you a little bit more than other answer we have given on the topic in the past. In the meantime we will continue to try to make the importer as useful as possible