Closed37

Immersal ARアプリでARCore Record & Playback APIを使ってみる(失敗)

動機

  • Immersalを使ったARアプリを作っている
  • 特定の場所に行かないと体験できない
  • ゆえに場所に行かないとデバッグできない
  • 新しく出たARCore APIを使ってみたい
    • Record &Playback APIが良さげ

ARCore(ARFoundation)もImmersalもどちらもsampleプロジェクトがあるけど
このさいチュートリアルに沿って新しいシーンを作ってもいいかなって思う

手順としては、

  1. ImmersalのサンプルプロジェクトをクローンしてUnity2020.3で動くかやってみる
  2. ARFoundationのバージョンを上げる→テスト
  3. Streaming Assetsに別のRecord API使って撮った動画を入れて
  4. ARFoundation Samplesを参考にPlayback APIをたたいてみる

とりあえず自分の部屋をRecording APiでキャプチャしたものを取得した
これを使って部屋のImmersalアプリを試してみる

今回はMultiMapSampleを使用する
Immersal SDK > Open SettingsからImmersalアカウントでログインして、
AR Map Downloderで自室のマップをDLする

ここまではすんなりって感じですな
自分もかなり慣れてきている

普通に2020.3でも動いた。
最初の関門を突破ですな

このプロジェクトでインストされているARFoundationを4.2.0-preview12にしてみる
ARCoreも同様

普通にバージョン上げても大丈夫だった!勝ち!

とりまARCore Session Recorderスクリプトをarfoudation-smapleを参考に作成し、シーンにアタッチした

GUIのボタンでStart Recordingが出てきたので押すと、録画ができた
実際にデバイスの中に動画が入っていたが、なんか再生のされ方が変だった。なんだろう

playbackに関してはダメだった
なぜかplaybackボタンを押した瞬間アプリがクラッシュしてしまう

ちゃんと録画も再生も、完璧にはできなかったが特にエラーなく実行されそうだったってことは
あと少しな気がするんだよなぁ

できるかどうかわからないけど、Unity2021.2でビルドしたarfoundation-samplesの、
recording apiで取得した動画ファイルを、今回のプロジェクトのpersistantDataPathに突っ込んで、
それをAwakeでplaybackするようにしてみた
どうなるんだろうか......

ファイルは存在することが分かった
しかしPlaybackが開始されない

深夜テンションなのでこれ以上ちまちま作業していられるか!!ノリでUnity 2021.2betaにバージョンアップしていくぞいくぞいくぞ~~
Immersal君どうか耐えてくれ

2021.2にしたらエラーが何個か出た
ざっと見た感じネットワーク関係のAPIかな?

奇跡的にエラー箇所はマルチプレイヤー系のサンプルスクリプトでとどまったのでエラー摘出完了

Immersalが動くかもわからない、ただRecord & Playback APIが動くための条件な可能性が高い
Immersalが動かないようだったら、もうこれらのライブラリは相いれないものだったと諦めるかな

No ARCoreSessionSubsystem availableと出てしまった、いきなりこれは何だろうな......

arcoreのほうでエラーが出るのは想定外、というかおかしいな
別のアプローチをとって見よう

arfoundation-samplesのほうでサンプルシーンにImmersalを使ってみる

Immersal SDK 1.13.1とTextMeshProをインポートして、
シーンにImmersal SDKプレハブ(AR Localizerをアタッチ)とAR Spaceを作成

ビルドしてみたら見たことないエラーが出た、なんだろうこれ

API Levelの話だろうか?
Player Settingsで変えられそうだけど、このタイミングで出てきたのが謎過ぎて怖い

ミニマムなAPIレベルが確かに24だった。
26にしてビルドしたら成功した

ビルドができたの実行してみた結果、まずImmersalは動作していなさそうだった
ずっとスマホをかざしていたがマップの点群の位置が変化することはなかった

そしてなぜかPlaybackのときにクラッシュする
同じ構成でImmersalがない状態だとうまくPlaybackするのに、なぜかImmersalが一緒になるとクラッシュするようになってしまった

試しにImmersalをサーバーサイド位置合わせにしてみたが依然変わらなかった

考え得ることはすべてやったが、今回は達成できなかった

このスクラップは4ヶ月前にクローズされました
ログインするとコメントできます