テクニカルグループの木戸です。
iOS11がリリースされて対応端末ではARKitが利用できるようになりました。
そこで以前Google Tango向けに開発したARガイド「NAT」とAR宝探しゲーム「SEEKAR」をARKitに対応させました。
※「NAT」「SEEKAR」についてはこちらをご参照ください。
対応させた、といってもTangoと比べるとARKitはできることが限られているので全く同じではありません。
特にAreaLearningの有無は大きいですね。。
ただARKitもかなり優秀で、モーショントラッキングの精度も良いですし、一度ズレても認識済みの平面にカメラを向けることで位置が回復されます。
以下、ARKit版の詳細です。(コンテンツ内容を知らないと何言ってるか分からないかもしれません。。)
●ARガイド「NAT」
主にミュージアムなどの施設向けのガイドアプリのベースシステムです。
広めのエリアでの利用を想定しているものなので現状ARKitでは難しく、まずは「ライト版」として進めていきます。
<開始時>
Tango版ではADFを使うことでどの場所でもスタートできましたが、ARKit版ではスタート位置を固定し、2つの基準点を使ってキャリブレーションさせるようにしました。
平面を認識するまで少し時間がかかるのと、基準点の設定が必要なのでTango版に比べて開始まで時間と手間がかかります。
今後別の方法も探っていきますが、そのうちAreaLearningみたいなのができるようにもなるはずです。
<プレイ中>
開始後は精度の良いモーショントラッキングでもたせます。
少しずつズレますが、狭い範囲であればあまり気にならないのと、認識済みの平面がカメラに映ることで回復されます。
広い範囲になると難しいので、しばらくは「ライト版」として展示会のブースや施設内の一部などの狭いスペース向けとします。
少し進むごとに基準点を作るという手もありますが。。
テスト中のキャプチャ動画です。
[ARKit] Google TangoアプリのARガイド「NAT」をARKitで動かしてみた。
●AR宝探しゲーム「SEEKAR」
2m~4m四方のエリアでコインを探すゲームです。
こちらはARKitでもあまり問題無くできます。
<開始>
Tango版では床を認識してプレイスペースを設定してからスタートという流れでした。
ARKitも同じ流れでいけるので、床の認識までに少し時間がかかるのを除けばTango版と同様の流れでいけます。
ただ、Tango版はADFを使って前回と同じ場所でスタートできる機能をつけています。これまで実施した時もADFを使いました。
<プレイ中>
狭い範囲で遊ぶコンテンツなので、基本的にズレることは無いです。
ズレてしまったらおしまいです。
テスト中のキャプチャ動画です。
[ARKit] Google TangoアプリをARKitに移植してみた
というわけで、NATとSEEKARがARKitでも使えるようになりました。
それぞれメリット、デメリットはあるので状況により使い分けていくことになると思います。
(今後のTangoがどうなるか不明ですが、最悪の場合でもしばらくは使えるので)
NATやSEEKARの場合の選ぶ基準はこんなかなと思います。
Tangoを選ぶ基準
- 広い範囲で使いたい
- できるだけ運用を楽にしたい(ADFを使う)
ARKitを選ぶ基準
- すでに持っているARKitに対応したiPhoneを使いたい
- 屋外で使いたい
- ユーザーの端末でやってもらいたい(ストアに置く)
ARCoreもそのうち対応しようと思っています。
どんどん新しいものが出るので楽しいですね。(つらい)