tks_yoshinagaの日記

KinectやLeap motion, VRやARなどの技術を使ってやったことのメモとか

マルチプラットフォーム対応を目指した空間共有xRシステムの試作

2016-2017年はHoloLensの他にもGoogle Tango, ARCore, ARKitなど様々なARプラットフォームが登場し、これまで以上にAR技術に触れる人が増えました。
特にHoloLensやTangoでは空間情報を共有して複数のユーザー(端末)間で同じオブジェクトを閲覧・操作するようなコンテンツも容易に実現できる仕組みが提供されています。ところが、HoloLens⇔Tangoのように異なるプラットフォーム間では空間情報のフォーマットが異なるのでそのままでは空間共有はできませんでした。

これを解決するため、まず手始めに紙に印刷したマーカーを各デバイスで認識させ、マーカーを原点とした座標系に統一を行うことで空間のシェアを行いました。
下の動画はHoloLens 2台とTango 1台とで空間を共有している様子で、空間の同じ場所に表示されたCGを各端末で見ています。また一人のユーザーが透過領域の位置をずらすと他のユーザーにもその情報が反映されます。さらに、詳細はまた後日まとめますがVRヘッドセットとARデバイスとの空間共有機能も試作しました。

 

今回の試作で異なるデバイス間で空間や体験を共有できるようにした結果、HMDを被った人が今何を見ているかをスマホ等で確認できるようになり、展示会でデモを行う際の説明ツールとしても非常に便利でした。

f:id:tks_yoshinaga:20171225213718j:plain

 また上記システムとは方法は異なりますが、ARCoreやARKitのように空間情報を保存する機能を提供していないプラットフォーム向けに空間保存機能、Google TangoでいうところのArea Learning機能の試作も行っています。
以下の動画はARCoreを使って空間の特徴を先に記録し、そのあとアプリを再度立ち上げると同じ位置にCGが表示される様子を記録したものです。今回は同一端末のみで実験を行いましたが、複数の端末間で空間の特徴を共有することでマーカーを用いずに位置合わせを行い、空間内の同じ位置にCGを表示させることも可能になります。今後はARCoreやARKitなどの異なるプラットフォーム間での空間情報の共通化や位置合わせのマーカーレス化を加速させたいと考えています。