Skip to main content

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:

  1. Base Color
  2. Metallic
  3. Roughness
  4. Normal
  5. Ambient Occlusion
  6. 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.

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.

  1. 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.
  2. Number of materials: The recommended limit is 5 materials per shoe, one of which can be alpha. Target the lowest number possible to keep the asset performing well.
  3. Mesh per material: 1
  4. Max texture resolution: 2048 × 2048
  5. UV: 1 UV per mesh (hard limit)
  6. Model size: 5 MB per model (larger models may result slow downloads creating a poor user experience)

The above was adapted from Google's reccomended requirements for their scene viewer

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:

Docusaurus process