診断と修正: ターゲット読み込み失敗
3D 物体トラッキング機能は、入力される 3D モデルの品質に大きく依存します。ターゲットモデルの読み込みに失敗した場合、EasyAR は詳細なエラーログを出力し、開発者が問題を特定できるようにします。本章では、マテリアル、テクスチャ、モデルファイルの 3 種類の問題について、一般的な失敗原因と解決方法を示します。
マテリアル/テクスチャマップファイルのエラー
この種のエラーは通常、パス設定またはファイル形式の問題によって発生します。
| ログ情報 | エラー原因 | 解決方法 |
|---|---|---|
| Material file not exist | マテリアルファイル(.mtl)のパスが存在しない、または正しく参照されていません | モデルフォルダー内に .mtl ファイルが存在し、.obj ファイル内の mtllib パスが相対パスとして正しく指していることを確認します |
| 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 ファイル内に見つかりません | .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 などの専門ツールからエクスポートした場合は、エクスポート時に必ず「write materials」と「include UVs」(または類似のオプション)を有効にし、すべてのファイルが同じフォルダー内にあることを確認してください。
- ツールからエクスポートされたモデルファイル内の参照パスは絶対パスになっている場合があります。必ず確認して相対パスに変更し、ファイル名に空白を使わず、ファイルエンコードが UTF-8 であることを確認してください。
- モデル形式と仕様の詳細要件については、モデル準備 セクションを参照してください。
ヒント: それでも問題が解決しない場合は、モデルファイルとエラーログをまとめ、EasyAR 公式フォーラムまたはテクニカルサポートから支援を受けることをおすすめします。