Диагностика и устранение: ошибка загрузки цели
Функция отслеживания 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 или в службу технической поддержки.