Sketchfab supports a maximum of 100 unique materials in a single 3D scene.
The number of materials in a model is a huge factor in the speed of the viewer, and going beyond 100 materials quickly slows down the model load time and it's rendering performance.
If we detect more than 100 materials during processing, we first attempt to merge identical materials. We consider "identical materials" to be materials that have different names but otherwise exactly the same properties.
If there are still more than 100 materials, we then "clamp" to 100, using a series of rules to decide which materials to keep. The priority for preserving materials is:
- Materials with textures; the more channels that have a texture, the higher the priority
- Materials used by the highest number of separate geometries (i.e. meshes or objects)
- Materials used on the largest surface area (for objects with faces)
- Materials used by the highest number of vertices (for point clouds and lines)
The lowest priority materials beyond the maximum 100 will be merged into a single material. This 100th material will be shown as a default white color across all the parts of the model that used materials we removed.
Comments
4 comments
Hi James, I have many models I also have many materials that will be updated and discontinued periodically. Because of the above, I don't want to upload all of the materials to each model. My solution is to load the materials remotely using your API. Are there any tips to make this as quick as possible? For example, do you have a location where your servers are so I can try to get close to that server? It would be great if each account came with a folder where we could upload assets for this kind of solution. Thanks!
Hi,
Our servers are in Ireland, but I don't think that will make any difference if you are loading textures with the Viewer API. You must host those images somewhere else, and then they are loaded client-side in the viewer. Images you load with the Viewer API are never sent to our servers.
Loaded client side, that makes sense! Thank you.
Is this still valid? I have a few volumetric video models (30fps) which get white textures if the sequences are longer than 100 frames. Any recommendation to fix the issue?
I'm uploading my models as an OBJ sequence, with JPG textures and a corresponding MTL file for each frame.
Please sign in to leave a comment.