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