I find the earlier messages about empty position & normal arrays more interesting. Think resolving those might have some effect. If this is coming from blender, check your export log file to try to identify the mesh.
Ok, when there is an error followed by another error repeated over and over, you first have to remove the first error to make sure the 2nd is not just a consequence of the first.
You also have indicated that you are not coming from Blender. ID is not populated that way from Blender.
Next you will likely need to isolate your condition some more by doing slightly less until your situation stops, pointing to the underlying problem. Given you seem to have a lot of meshes, removing them till the error stops happening seems too slow.
As this happening in webGL, I would next go down the path of materials being the next best source. In the load callback, if you did something like this, and the problem went away, then you would know it is a material problem:
const replacement = new BABLYON.PBRMaterial('who cares', scene);
for (const mesh of scene.meshes) {
mesh.material = replacement;
}
I am hoping for this test that you do not have any meshes with Multiple materials, but I think replacing a multiple material should not generate a new / different error.
Actually I exported the babylon file from a complex scene (the mesh serialize() method). And I had tried to change all the material to default material but those meshes were still distorted.
The warnning message is buried inside the explorer, so it’s difficult to locate where is wrong.