My prior experience is with desktop and 2D projects, so this is a new world to me. We’ve outsourced the modeling, but the modeler’s niche is architecture, not games, meaning he’s used to creating high-fidelity content and rendering static shots. I’m trying to figure out what to tell him in order to get meshes that load and run reasonably well on the web, on mobile, in VR. Things like:
- file sizes;
- vertex & triangle count;
- materials, etc.
I won’t know everything before I test it extensively, but I want to figure out a starting point. Get some context.
Current Stats
File Size
The scariest thing is the total file size of 48 MB. I feel like that’d take ages to load on mobile connections. What’d be a good size to aim for, generally?
Vertex & Triangle Count
In total, we have 150k vertices and 170k triangles. I’m guessing we should try to reduce those numbers to at least below 100k.
Materials
The 3D Viewer app on Windows says there are 267 Material IDs. I’m not sure if that means there are 267 unique materials, but if so, that looks like an enormous number. But if that’s indeed the case, I can see a lot of elements that could reuse the same material—low-hanging fruit here.
I ask this because I’m still trying to wrap my head around mesh optimization. I’ve been reading up on the Scene Optimizer and auto-LODs, but these target runtime performance, not loading time.
There’s also progressive loading for GLTF files, but it seems MSFT_lod is all but unsupported by major 3D software. Incremental loading looks promising, and I’m probably going to implement it, but a large portion of our models can be seen from the spawn point, so I don’t know if that’ll be enough.
So, my main question is: should we figure out a default, high-fidelity level of detail for the models—the same way artists work on large images and downsize in exports—and subtract from that for lower-end devices? Because I said the we need the app to run on mobile and in VR, but it could also be accessed from a desktop, without VR.
PS: Speaking of GLTF, is that the recommended type for Babylon?