El validador oficial, en tu navegador
Esto no es una reimplementación. Ejecuta el glTF-Validator de Khronos, el mismo motor que hay detrás del validador oficial en línea y de las comprobaciones de exportación integradas en varias herramientas DCC, compilado a JavaScript y ejecutado localmente en tu máquina.
Esa diferencia importa cuando eres tú quien tiene que decirle a un proveedor que su exportación está rota. «El validador oficial de Khronos informa de ACCESSOR_INDEX_OOB en /meshes/3/primitives/0/indices» es una conversación que termina rápido. «Una web decía que estaba mal» no lo es.
Cómo leer las severidades
El validador informa en cuatro niveles, y no todos son igual de alarmantes.
Errores: el archivo incumple la especificación glTF 2.0. Puede que un visor permisivo lo abra igualmente —three.js es especialmente tolerante—, pero no tienes ninguna garantía con cualquier otra implementación. Corrígelos.
Avisos: cosas legales pero casi con toda seguridad no intencionadas: un accessor cuyos min/max declarados no coinciden con sus datos, una textura sin imagen, un nodo con transformación identidad y sin hijos.
Información y sugerencias son orientativas. UNUSED_OBJECT y NODE_EMPTY aparecen en montones de recursos de producción perfectamente correctos: el exportador dejó atrás un nodo auxiliar, nada más. Un archivo limpio con nueve sugerencias sigue siendo un archivo limpio.
Validar un .gltf con archivos externos
Un .gltf es un documento JSON que apunta a búferes .bin y a imágenes independientes. Si validas solo el JSON, cada una de esas referencias se informa como recurso ausente y el informe no sirve de nada.
Añade los archivos acompañantes en el segundo selector y se resolverán correctamente. Lo que siga faltando se indica de forma explícita, algo que en sí mismo es un hallazgo real: un .gltf entregado sin su .bin es una entrega defectuosa.
Hallazgos habituales y qué significan
ACCESSOR_INDEX_OOB: un búfer de índices referencia un vértice que no existe. Casi siempre un exportador defectuoso o un archivo truncado.ACCESSOR_MIN_MISMATCH/ACCESSOR_MAX_MISMATCH: los límites declarados no concuerdan con los datos reales. Rompe el descarte por frustum y cualquier consumidor que se fíe de la cabecera.MESH_PRIMITIVE_NO_POSITION: una primitiva sin posiciones de vértice. Nada puede renderizarla.UNSUPPORTED_EXTENSION: el archivo usa una extensión que el validador no conoce. No tiene por qué estar mal, pero conviene comprobarlo con tu motor de destino.MESH_PRIMITIVE_TANGENT_WITHOUT_NORMAL: tangentes sin normales, lo que no tiene sentido.UNUSED_OBJECT: algo definido y nunca referenciado. Inofensivo, pero es peso muerto en el archivo.
El resumen del recurso
Más allá de la lista de incidencias, el validador informa de las cifras que importan para el rendimiento: llamadas de dibujado, total de vértices y triángulos, número máximo de conjuntos de UV e influencias máximas de huesos por vértice. Esta última merece atención: muchas cadenas de producción móviles se limitan a cuatro influencias, y un modelo creado con ocho se deformará mal en vez de fallar de forma evidente.
Privacidad
El validador se ejecuta como JavaScript en tu navegador. No se sube ningún archivo, búfer ni textura, así que es seguro para trabajos de cliente y recursos sin publicar.
Tiny Online Tools







