Diagnóstico y reparación: fallo al cargar el objetivo
La función de seguimiento de objetos 3D depende en gran medida de la calidad del modelo 3D de entrada. Cuando falla la carga del modelo objetivo, EasyAR imprime registros de error detallados para ayudar a los desarrolladores a diagnosticar el problema. Este capítulo enumera las causas comunes de fallos y soluciones, cubriendo problemas de materiales, texturas y archivos de modelo.
Errores en archivos de materiales/texturas
Estos errores suelen deberse a rutas mal configuradas o problemas de formato de archivo.
| Información del registro | Causa del error | Solución |
|---|---|---|
| Material file not exist | La ruta del archivo de material (.mtl) no existe o no se referencia correctamente | Verifique que el archivo .mtl exista en la carpeta del modelo y que la ruta mtllib en el archivo .obj sea correcta (ruta relativa) |
| Current material has no name | Falta el nombre en la definición del material (no se especificó newmtl) |
Agregue un nombre a cada material en el archivo .mtl, ej. newmtl Material1 |
| No texture map exists in material | No se especificó mapa de textura en el material (falta map_Ka o map_Kd) |
Agregue la ruta de la textura en el archivo .mtl, ej. map_Kd texture.jpg |
| Read texture map file failed | No se puede leer el archivo de textura (ruta incorrecta, formato no admitido) | Verifique que el archivo de textura esté en la carpeta del modelo, en formato JPG/PNG y que la ruta no contenga espacios |
Errores en archivos de modelo
Estos errores suelen deberse a formato OBJ no estándar o problemas de codificación.
| Información del registro | Causa del error | Solución |
|---|---|---|
| Error in opening OBJ file | La ruta del archivo de modelo no existe o permisos insuficientes | Verifique la ruta del archivo y asegure su legibilidad |
| Error in reading OBJ file | Fallo al leer el archivo (codificación no UTF-8, archivo dañado) | Abra el archivo .obj con un editor de texto y guárdelo con codificación UTF-8 |
| Material not exist | El material referenciado por una cara no se encuentra en el archivo .mtl | Verifique el campo usemtl en el .obj y asegure coincidencia con los nombres newmtl en el .mtl |
| Vertex format invalid | Formato de coordenadas de vértice incorrecto (datos en línea v no cumplen estándar) |
Verifique formato v: v x y z (ej. v -4.322898 6.063079 -40.241329), asegure valores numéricos |
| Vertex texture coordinate format invalid | Formato de coordenadas de textura incorrecto (datos en línea vt no válidos) |
Verifique formato vt: vt u v (ej. vt 0.929688 0.094622), asegure valores entre 0-1 |
| Face format invalid | Cara con menos de 3 vértices (datos en línea f inválidos) |
Verifique líneas f, asegure mínimo 3 vértices por cara |
| Both vertex index and vertex texture coordinate index are required | Formato de cara incorrecto (falta índice de vértice o textura) | Verifique formato de línea f, asegure índices de vértice y textura (ej. f 1/1 2/2 3/3) |
| Vertex index format invalid | Índice de vértice incorrecto (fuera de rango o no entero) | Verifique índices de vértice en líneas f, asegure enteros positivos dentro del rango total |
| Vertex texture coordinate index format invalid | Índice de coordenada de textura incorrecto | Verifique índices de textura en líneas f, asegure enteros positivos dentro del rango total |
Mejores prácticas
Ante errores de carga, realice la solución de problemas según la tabla anterior. Generalmente, siga estas pautas básicas:
- Si exporta modelos desde herramientas profesionales (Blender, Maya), active "Escribir materiales" e "Incluir UV" (o opciones similares), y mantenga todos los archivos en la misma carpeta.
- Las rutas internas en modelos exportados pueden ser absolutas; cámbielas a relativas. Evite espacios en nombres de archivo y use codificación UTF-8.
- Para requisitos detallados de formato y especificaciones de modelos, consulte el capítulo Preparación de modelos.
Tip: Si el problema persiste, empaquete los archivos del modelo y los registros de error, y solicite ayuda en el foro oficial de EasyAR o al soporte técnico.