We bought a detailed Tesla S 2020 car model from Turbosquid recently to show in our car configurator. The object has about 20 odd animations, 332 odd Meshes and 75 materials.
The initial downloaded gltf/glb file that we received from Turbosquid was about 600MB along with the raw PNG textures that were being used. I compressed a lot of these textures (to jpeg) and got down the size of the model to 22MB at the moment. It renders fine, but it is still pretty heavy on the graphics card. (About 20-30FPS)
Looking at the model on Blender, I realized that the hierarchy is way too detailed and the materials are far too many. At the moment I see that there are about 332 draw calls happening on the GPU, (Triangle count is approximately 850,000). Now I know there is no direct answer for this but is re-topologising (Making a new hierarchy) the only way to fix this issue?. Also, Is manual merging of materials on Blender the only way to get the material counts down in our case?
The model uses a lot of PBR textures as well. Could the concept of baking be used in this case somehow?
I know my question could be classified as broad here, but any direction towards what I could do would really help here and would be appreciated. I don’t need ready-made solutions but just a direction which I can take here