1
$\begingroup$

I make 3D models for businesses. I started doing this not long ago. Often some models show errors and warning in the GLTF Validator. Usually, as long as the model looks good visually, it doesn't need any tweaking or fixing anymore. But sometimes I am worried about errors, I can't fix them because I don't know which mesh number or images number it is referencing.

Here is a sample screenshot: enter image description here

Here, I want to fix the 2 errors but I don't know which mesh are they. There are over 20 objects in my model and will have their modifiers applied during the export. So it's not easy for me to find the incorrect object.

I found out what the issue with the model is using this comment on stackoverflow.

Thank you.

$\endgroup$
1
$\begingroup$

For the errors you've shown above, I'll make some educated guesses based on my own exports:

  • ACCESSOR_VECTOR3_NON_UNIT - Blender usually only writes non-normalized normal vectors when there is degenerate geometry present, meaning a proper normal can't be calculated. In Blender's "Edit Mode", go to Mesh -> Cleanup -> Degenerate Dissolve, and it might take care of this.

  • UNUSED_OBJECT ... TEXCOORD_0 indicates that texture coordinates (in a UV map) were supplied for a material that wasn't textured. You can ignore it, or you can save some space by deleting the UVmap for any object using a material that isn't textured.

To answer your actual question, there's no guaranteed correspondence between a Blender mesh and a glTF mesh index, but there are tools to discover the relationship once the export is complete. The way I recommend is to install a text editor called VSCode which is free, open source from Microsoft. Export your model as "Separate glTF + bin + textures" and load the text-based .gltf into the editor. Install the "glTF Tools" extension that it offers you, and it will call out the exact spots in the text file where the validator finds errors. For many kinds of objects including meshes, the names shown here will directly correspond to mesh or object names in Blender.

(Disclaimer, I'm one of the developers of the glTF Tools extension for VSCode.)

Here's a screenshot of VSCode showing unused texture coordinates in a mesh called "glassDish":

Example unused UV map

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.