診断と修復:コンテンツが表示されない
本稿では、平面画像トラッキングにおいて仮想コンテンツが表示されない一般的な問題に対し、体系的な調査方法と改善提案を提供します。開発者が迅速に問題を特定し解決するのに役立ちます。
よくある原因と調査方法
コンテンツの非表示は、通常、画像認識、機能実装エラー、または権限制限に関連します。以下に主な原因と調査手順を示します:
画像認識の失敗
現象:カメラをターゲット画像に向けても、仮想コンテンツが全く表示されない。
調査方法:
- 画像認識度の確認:ターゲット画像検証ツールを使用し、認識度スコア(4~5星が必要)を確認します。
- 画質の検証:画像がベストプラクティスのテクスチャ、サイズ、比率要件を満たしていることを確認します。
- ターゲット画像実物の確認:ターゲット画像の実物(ポスター、カードなど)の表面に反射がなく、平坦で折れ曲がっていないことを確認します。
- ログの確認:アプリログを確認し、
TargetLoadイベントを検索してターゲット画像の正常ロードを確認します。
改善提案:
- 画像の最適化:コントラストの強化、繰り返しパターンの回避、主題が画面の70%以上を占めるようにします。
- 画像の差し替え:最適化後も問題が続く場合、公式サンプルのテスト画像(例:namecard.jpg)を使用し、問題が画像自体にあるか検証します。
- 実物の確保:ターゲット実物はマット調または粗い表面を使用し、平坦で折れ曲がり・湾曲がないようにします。
- ロジックの確認:アプリがテスト用ターゲット画像を正しくロードしていることを確認します。
機能実装エラー
現象:画像は認識されるが、仮想コンテンツが表示されない、または位置が異常である。
調査方法:
- ImageTarget設定の確認:
Sourceタイプに基づき、StreamingAssetsフォルダ内の正しいファイルを指しているか確認します。Scaleが実際の物理サイズに設定されているか確認します。
- プレハブ階層の確認:仮想コンテンツ(例:Cube)が
ImageTargetの子ノードであり、無効化されていないことを確認します。
改善提案:
- 設定のリセット:シーン内の
ImageTargetを削除し再作成し、規範に従いプレハブをドラッグ&ドロップして画像をバインドします。 - テストの簡素化:カスタムスクリプトを一時的に削除し、基本Cubeのみで最小動作シーンを確認します。
- ログの確認:
ImageTargetController関連のエラー(例:fail to load target data)を検索します。
権限問題
現象:当初は正常に動作していたが、一定時間後にコンテンツが消える。
調査方法:
以下のいずれかの状況に該当するか確認します:
- XRヘッドセット上での使用
- カスタムカメラの使用
- スマートフォンでのAR Engine/ARFoundationの使用
上記のいずれかに該当する場合、トライアル版Licenseを使用している可能性があります。
改善提案:
- 正式版Licenseを使用します。
仮想コンテンツの問題
現象:コンテンツは当初正常に表示されるが、カメラがターゲットに極端に近い/遠い時に見えない。
調査方法:
- ニアクリップ/ファークリップ設定の確認:仮想コンテンツのレンダリング時のニア/ファークリップ設定が適切な範囲にあることを確認します。
- コンテンツモデルサイズの確認:コンテンツモデルが大きすぎると接近時に穿模(モデル貫通)で見えなくなり、小さすぎると遠距離時に表示が小さく見えなくなります。
改善提案:
- 適切なニア/ファークリップ値を設定します。
- 仮想コンテンツのサイズがターゲット画像実物の物理サイズに対して適切であることを確認します。
まとめとベストプラクティス
コンテンツ非表示問題は通常、画像、プログラム実装、権限、またはコンテンツ自体に起因します。以下の順序で調査することを推奨します:
- Licenseが正式版か確認
- 仮想コンテンツ自体が適切か確認
- ターゲット画像の品質を検証
- プログラム実装または開発設定の問題を確認
問題が継続する場合は、EasyAR公式フォーラムまたはテクニカルサポートにログファイル、画面録画などを提供し、詳細分析を依頼してください。