Model Capabilities & Requirements
This section will explain the capabilities and the limitations when it comes to polycounts and texture sizes.
Texture Requirements
The glTF format supports the following textures for the Metallic-Roughness PBR model:
- Base Color
- Metallic
- Roughness
- Normal
- Ambient Occlusion
- Emission
We can handle all of these textues however, it is not a requirement to have all of them.
3D Animation capabilities
GLTF 2.0 / GLB upports looping skeletal animation, looping rigid animation and looping transform animations.
Recommended Model limits
The overall performance of assets depends on setting constraints and making tradeoffs between vertices, materials, texture resolution, mesh per material, and other factors. Use the following guidelines to optimize what works best for your assets.
- Number of triangles: The recommended limit is 50,000 triangles per shoe model, but targeting the lowest number will maintain high performance in Vyking's SneakerKit. 30,000 to 50,000 is an ideal range.
- Number of materials: Recommended 1 material per shoe. Target the lowest number possible to keep the asset performing well.
- Mesh per material: 1
- Max texture resolution: 2048 × 2048 (Recommend 2K for diffuse texture and 1K for other textures)
- Model size: 4 MB per model (larger models may result slow downloads creating a poor user experience)
Textures formats
PNG format: PNG-24, indexed PNG-8. JPGs are preferred when there is no transparency to reduce size. Color space: sRGB
The above was taken from Google's reccomended requirements for their scene viewer
Uniform textures; efficient sizes
On some models we noticed that on some models the normal map, roughness and metallic maps were all uniform colours but were still 4K in size. If the texture map is a uniform colour there is no need to have a 4K texture (it has to load in a 4K texture into graphics memory which takes up space and takes a long time to load into memory), you can set all these uniform textures to 256x256 as there is no detail in them. I've attached a picture for more info: