診断と修復:ターゲット読み込み失敗
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など)からモデルをエクスポートする場合、「マテリアルを書き込む」および「UVを含める」(または類似のオプション)をエクスポート時に必ず有効にし、すべてのファイルが同一フォルダ内にあることを保証してください。
- ツールがエクスポートしたモデルファイル内の参照パスは絶対パスになっている可能性があるため、必ず確認し相対パスに変更してください。ファイル名にスペースを使用せず、ファイルエンコーディングはUTF-8でなければなりません。
- モデル形式と仕様に関する詳細な要件については、モデルの準備 の章を参照してください。
ヒント: 問題が解決しない場合は、モデルファイルとエラーログをパッケージ化し、EasyAR公式フォーラムまたはテクニカルサポートを通じて支援を求めることをお勧めします。