Table of Contents

诊断与修复:目标加载失败

3D 物体跟踪功能高度依赖输入的 3D 模型质量。当目标模型加载失败时,EasyAR 会打印详细的错误日志,帮助开发者定位问题。本章列出常见失败原因及解决方案,涵盖材质、纹理、模型文件三类问题。

材质/纹理贴图文件错误

此类错误通常由路径配置或文件格式问题导致。

日志信息 错误原因 解决办法
Material file not exist 材质文件(.mtl)路径不存在或未正确引用 检查模型文件夹中是否存在 .mtl 文件,且 .obj 文件中的 mtllib 路径指向正确(相对路径)
Current material has no name 材质定义缺少名称(newmtl 未指定) 在 .mtl 文件中为每个材质添加名称,如 newmtl Material1
No texture map exists in material 材质中未指定纹理贴图(缺少 map_Kamap_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 文件中未找到 检查 .obj 文件中的 usemtl 字段,确保与 .mtl 中的 newmtl 名称一致
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)中导出的,务必在导出时勾选“写入材质”和“包含UV”(或类似功能选项),并确保所有文件在同一文件夹内。
  • 工具导出的模型文件内部的引用路径可能是绝对路径,务必检查并改成相对路径,文件名避免使用空格,文件编码必须为 UTF-8。
  • 关于模型格式与规范的详细要求,参考 模型准备 章节。

提示:若问题仍无法解决,建议将模型文件及错误日志打包,通过 EasyAR 官方论坛或技术支持获取帮助。