Официальный валидатор — прямо в браузере
Это не самописная копия. Здесь работает Khronos glTF-Validator — тот самый движок, на котором построены официальный онлайн-валидатор и встроенные проверки экспорта в нескольких DCC-пакетах, — скомпилированный в JavaScript и выполняемый локально на вашей машине.
Эта разница важна, когда именно вам предстоит сообщить подрядчику, что его экспорт сломан. «Официальный валидатор Khronos выдаёт ACCESSOR_INDEX_OOB по пути /meshes/3/primitives/0/indices» — разговор, который заканчивается быстро. «Какой-то сайт сказал, что что-то не так» — нет.
Как читать уровни серьёзности
Валидатор сообщает о четырёх уровнях, и тревожность у них разная.
Ошибки означают, что файл нарушает спецификацию glTF 2.0. Снисходительный просмотрщик всё равно может его открыть — three.js особенно терпим, — но никаких гарантий для других реализаций у вас нет. Их нужно исправлять.
Предупреждения отмечают то, что формально допустимо, но почти наверняка не задумывалось: accessor, у которого объявленные min/max не совпадают с данными; текстура без изображения; узел с единичным преобразованием и без потомков.
Информация и подсказки носят рекомендательный характер. UNUSED_OBJECT и NODE_EMPTY встречаются во множестве совершенно нормальных боевых ассетов — экспортёр оставил вспомогательный узел, только и всего. Чистый файл с девятью подсказками остаётся чистым файлом.
Проверка .gltf с внешними файлами
.gltf — это JSON-документ, который ссылается на отдельные буферы .bin и файлы изображений. Если проверить только JSON, каждая такая ссылка будет отмечена как отсутствующий ресурс, и отчёт окажется бесполезным.
Добавьте сопутствующие файлы во втором селекторе — и ссылки разрешатся корректно. Всё, что по-прежнему не найдено, перечисляется явно, и это само по себе полноценный результат проверки: .gltf, отданный без своего .bin, — это бракованная поставка.
Частые замечания и что они значат
ACCESSOR_INDEX_OOB— буфер индексов ссылается на несуществующую вершину. Почти всегда сломанный экспортёр или обрезанный файл.ACCESSOR_MIN_MISMATCH/ACCESSOR_MAX_MISMATCH— объявленные границы расходятся с реальными данными. Ломает отсечение по пирамиде видимости и любого потребителя, который доверяет заголовку.MESH_PRIMITIVE_NO_POSITION— примитив без позиций вершин. Отрисовать его нечем.UNSUPPORTED_EXTENSION— файл использует расширение, неизвестное валидатору. Не обязательно ошибка, но стоит сверить с целевым движком.MESH_PRIMITIVE_TANGENT_WITHOUT_NORMAL— касательные без нормалей, что лишено смысла.UNUSED_OBJECT— объект определён, но нигде не используется. Безвредно, однако это балласт внутри файла.
Сводка по ассету
Помимо списка замечаний, валидатор выдаёт цифры, важные для производительности: вызовы отрисовки, суммарное число вершин и треугольников, максимум наборов UV и максимум влияний костей на вершину. За последним стоит следить: многие мобильные пайплайны ограничены четырьмя влияниями, и модель, собранная с восемью, будет деформироваться неверно, а не падать с явной ошибкой.
Конфиденциальность
Валидатор работает как JavaScript в вашем браузере. Ни файлы, ни буферы, ни текстуры никуда не загружаются, поэтому его безопасно использовать для клиентских проектов и невыпущенных ассетов.
Tiny Online Tools







