Table of Contents

Диагностика и устранение: ошибка загрузки цели

Функция отслеживания 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 Неверный формат координат вершины (данные строки v не соответствуют спецификации) Проверьте формат v: v x y z (например, v -4.322898 6.063079 -40.241329), убедитесь, что это числа
Vertex texture coordinate format invalid Неверный формат текстурных координат вершины (данные строки 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" ("Включить UV") (или аналогичные), и убедитесь, что все файлы находятся в одной папке.
  • Пути внутри файла модели, экспортированного инструментом, могут быть абсолютными. Обязательно проверьте и измените их на относительные. Избегайте пробелов в именах файлов, кодировка файлов должна быть UTF-8.
  • Подробные требования к формату и спецификации модели см. в разделе Подготовка модели.

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