診断と修復:コンテンツが表示されない
本稿では、3Dオブジェクトトラッキングにおいて仮想コンテンツが表示されない一般的な問題に対し、体系的な調査方法と改善案を提供し、開発者が迅速に問題を特定・解決することを支援します。
一般的な原因と調査方法
コンテンツ非表示は通常、オブジェクト認識失敗、機能実装エラー、権限制約が関与します。主な原因と調査手順は以下の通りです。
オブジェクト認識失敗
現象: カメラをターゲットオブジェクトに向けても仮想コンテンツが全く表示されない。
調査方法:
- モデル品質の確認: 3Dモデル及びオブジェクトがモデル準備のファイル形式、テクスチャ・ジオメトリ要件を満たしていることを確認。
- ターゲットオブジェクトの確認: ターゲットオブジェクト表面に反射や鏡面材質がないことを確認。
- ログの確認: アプリケーションログを確認し、ターゲットモデルのロード成功可否を調査。
改善案:
- モデル最適化: テクスチャが十分に豊富で、ジオメトリに穴がないことを確保。
- ロジック確認: アプリケーションが正しくターゲットモデルをロードしていることを確認。ロード失敗時はターゲットロード失敗章を参照。
機能実装エラー
現象: オブジェクトは認識されているが、仮想コンテンツが表示されない/位置が異常。
調査方法:
- ObjectTarget設定の確認:
Sourceタイプに応じ、StreamingAssetsフォルダ内の正しいファイルを指しているか確認。Scaleが実物体のサイズに基づき調整されているか確認(例: モデルファイルのBoundingBoxサイズが10x10x30で実物体サイズが0.1mx0.1mx0.3mの場合、Scaleは0.01に設定)。
- プレハブ階層の確認:
- 仮想コンテンツはターゲット3Dモデルと同階層かつ、両方とも
ObjectTargetの子ノードである必要あり。仮想コンテンツが無効化されていないことを確認。 - ターゲット3Dモデルの
RotationプロパティでY方向を180に設定。 - 仮想コンテンツの配置はターゲット3Dモデル位置を中心に行うこと。
- 仮想コンテンツはターゲット3Dモデルと同階層かつ、両方とも
改善案:
- 設定リセット: シーン内の
ObjectTargetを削除・再作成し、プレハブをドラッグ&ドロップで3Dモデルにバインド。 - ログ確認:
ObjectTargetController関連エラー(例:fail to load target data)を検索。
権限問題
現象: 正常に動作していたが、一定時間後にコンテンツが消える。
調査方法:
以下のいずれかに該当するか確認:
- XRヘッドセット上での使用
- カスタムカメラの使用
- AR Engine/ARFoundation搭載スマートフォンでの使用
該当する場合、トライアル版Licenseを使用している可能性あり。
改善案:
- 正式版Licenseを使用。
仮想コンテンツ問題
現象: コンテンツは正常表示されるが、カメラがターゲットに極端に近い/遠い場合に表示されない。
調査方法:
- ニアクリップ/ファークリップ設定確認: 仮想コンテンツレンダリング時のクリップ設定が適正範囲か確認。
- コンテンツモデルサイズ確認:
- コンテンツモデルが大き過ぎる場合、接近時にオブジェクト貫通で非表示化。
- コンテンツモデルが小さ過ぎる場合、遠距離で視認不可サイズになる。
改善案:
- 適切なニア/ファークリップ値を設定。
- 仮想コンテンツの物理サイズがターゲットオブジェクトに対して適正か確認。
まとめとベストプラクティス
コンテンツ非表示は主に以下が原因:
- 3Dオブジェクトモデル問題
- プログラム実装問題
- 権限問題
- コンテンツ自体の問題
推奨調査順序:
- Licenseが正式版か確認
- 仮想コンテンツ自体の妥当性確認
- ターゲット3Dモデル品質の確認
- プログラム実装/開発設定の問題有無の確認
問題が継続する場合、EasyAR公式フォーラムまたはテクニカルサポートにログファイル・画面録画を提供し詳細分析を依頼。