Closed8
Immersalを用いたアプリ開発で気付いたことを残す
環境
- 自然豊かな場所
失敗事例
- 晴れた日に撮影
- 影も影響するので、晴れた日のデータは数時間違うだけで影が移動して認識しなくなる
- 1時間のずれであればまだ何とか?
- 長期間開催するイベントの場合は太陽の高さも変わるので致命的
- 影も影響するので、晴れた日のデータは数時間違うだけで影が移動して認識しなくなる
対策
- 曇りの日に撮影したデータを使用するとたまに認識する
- これでも自然豊かな場所だとかなり厳しく運用上厳しい
環境
- 自然豊かな場所
失敗事例
- 自然豊かな場所を撮影
- 風、光、季節等で自然環境は刻一刻と変化するため、その時は認識しても次の機会には認識しない
- 異なる場所でも誤って認識してしまうこともある
- そもそも撮影に成功しないことも多々
対策
- 人工物を置く
- マーカーになる物を置くことでマーカーベースで認識させる
- マーカー、表示オブジェクトの位置は、表示する空間をLiDARでスキャンしたデータを用いてUnity上で調整する
失敗事例
- 同じ場所のARMapを複数配置
- 同じ場所のARMapを複数配置すると、どのARMapを認識するかによって位置がずれる
- 認識する度に表示するオブジェクトの位置が変わる
対策
- 同じ場所のARMapは一つにする
- 複数撮影したデータを用いたいときは、Developer PortalからStitch mapsを行う
失敗事例
- 認識したらすぐにオブジェクト表示
- ARMapがぴったり一致するまでに数回の認識が必要
- 表示したオブジェクトがドリフトするため、見た目が悪い
対策
- 認識してから数秒間オブジェクトを表示しないようにする
- 認識した場所で動かないようにしてもらうようなメッセージを表示する
問題
サンプルを参考に新規プロジェクトを作成したが、認識回数が進まない
確認事項
- ARLocalizerをImmarsal SDKに追加しているか?(AR Fundationの場合)
- CameraのTagがMainCameraになっているか?
問題
次第に位置がずれて2秒に1回直る
確認事項
- ARLocalizerのLocalization Intervalがデフォルトは2秒になっている
問題
シーンを切り替えて再表示すると認識しなくなる
原因
- ARMap で LoadMap() を2回実行しているので、static 変数や native 環境に Map が2重登録される
private void Start()
{
LoadMap();
}
private void OnEnable()
{
InitializeMesh();
LoadMap();
}
対策
- シーン切り替え前に下記2つのメソッドから Map を開放する
- ARSpace.UnregisterSpace(Transform tr, int mapId)
- Immersal.Core.FreeMap(int mapHandle)
このスクラップは2022/05/18にクローズされました