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 官方論壇或技術支持獲取幫助。