Table of Contents

Диагностика и исправление: сбой загрузки target

Функция 3D-отслеживания объектов сильно зависит от качества входной 3D-модели. Когда загрузка целевой модели завершается ошибкой, EasyAR выводит подробные журналы ошибок, чтобы помочь разработчикам найти проблему. В этой главе перечислены распространенные причины и решения для материалов, текстур и файлов модели.

Ошибки файлов материалов/карт текстур

Такие ошибки обычно вызваны настройкой путей или проблемами формата файлов.

Сообщение журнала Причина ошибки Решение
Material file not exist Путь к файлу материала (.mtl) не существует или указан неверно Проверьте, есть ли файл .mtl в папке модели и правильно ли путь mtllib в файле .obj указывает на него как относительный путь
Current material has no name В определении материала отсутствует имя (newmtl не задан) Добавьте имя для каждого материала в файле .mtl, например newmtl Material1
No texture map exists in material В материале не указана карта текстуры (отсутствует map_Ka или map_Kd) Добавьте путь к текстуре в файле .mtl, например map_Kd texture.jpg
Read texture map file failed Файл карты текстуры невозможно прочитать (неверный путь или неподдерживаемый формат) Проверьте, что файл текстуры находится в папке модели, имеет формат JPG/PNG, а путь не содержит пробелов

Ошибки файлов модели

Такие ошибки обычно вызваны нестандартным форматом OBJ-файла или проблемами кодировки.

Сообщение журнала Причина ошибки Решение
Error in opening OBJ file Путь к файлу модели не существует или недостаточно прав Проверьте путь к файлу и убедитесь, что файл доступен для чтения
Error in reading OBJ file Не удалось прочитать файл (кодировка не UTF-8 или файл поврежден) Откройте файл .obj в текстовом редакторе и сохраните его в кодировке UTF-8
Material not exist Материал, на который ссылается грань, не найден в файле .mtl Проверьте поле usemtl в файле .obj и убедитесь, что оно совпадает с именем newmtl в файле .mtl
Vertex format invalid Неверный формат координат vertex (данные строки v не соответствуют спецификации) Проверьте формат v: v x y z (например v -4.322898 6.063079 -40.241329) и убедитесь, что значения числовые
Vertex texture coordinate format invalid Неверный формат текстурных координат vertex (данные строки vt не соответствуют спецификации) Проверьте формат vt: vt u v (например vt 0.929688 0.094622) и убедитесь, что значения находятся между 0 и 1
Face format invalid У грани меньше 3 вершин (данные строки f недействительны) Проверьте строку f и убедитесь, что каждая грань содержит не менее 3 вершин
Both vertex index and vertex texture coordinate index are required Неверный формат грани (отсутствует индекс вершины или текстуры) Проверьте формат строки f и убедитесь, что она содержит индексы вершин и текстур (например f 1/1 2/2 3/3)
Vertex index format invalid Неверный индекс вершины грани (индекс вне диапазона или не целое число) Проверьте индексы вершин в строке f и убедитесь, что это положительные целые числа, не превышающие общее число вершин
Vertex texture coordinate index format invalid Неверный индекс текстурной координаты грани Проверьте индексы текстур в строке f и убедитесь, что это положительные целые числа, не превышающие общее число текстурных координат

Лучшие практики

При возникновении ошибки загрузки выполните диагностику по таблицам выше. В общем случае следуйте этим базовым правилам:

  • Если модель экспортирована из профессиональных инструментов, таких как Blender или Maya, обязательно включите при экспорте "write materials" и "include UVs" (или похожие параметры) и убедитесь, что все файлы находятся в одной папке.
  • Пути ссылок внутри файлов модели, экспортированных инструментами, могут быть абсолютными. Обязательно проверьте их и измените на относительные, избегайте пробелов в именах файлов и убедитесь, что кодировка файлов — UTF-8.
  • Подробные требования к формату и спецификациям модели см. в разделе Подготовка модели.

Совет: если проблему все еще не удается решить, упакуйте файлы модели и журналы ошибок и обратитесь за помощью на официальный форум EasyAR или в техническую поддержку.