見出し画像

最近のVPSを比較してみた。

※この記事は2023年8月7日に弊社運営の技術情報サイト「ギャップロ」に掲載した記事です。

はじめに

XR界隈でVPS(Visual Positioning System)というのが認知されるようになってきて、はや数年以上経ちますでしょうか?
最初期はUnityでARをやる、位置合わせをするといったら、Vuforiaで画像マーカーを使用するというのが一般的だったのではないかと思います。
最近ではARFoundationによる統合化や各種SDKが登場してきて、開発が以前に比べたら少しは楽になってきたとは思います。

下記4種類のVPSに触れてみたので所感をいろいろな角度から比較してみたいと思います。

※この記事では各種VPSの詳細な説明はしません。

API仕様の上限

ドキュメントに掲載されているAPI仕様の上限をまとめてみました。

どのVPSも個人で利用して試す分には無料で十分そうですね。
商用利用となると、Vuforiaみたいに有料アカウントにする必要があったりするので、利用規約はよく確認した方が良さそうです。
Vuforiaのウォータマークですが、ARFoundationと組み合わせることで非表示にすることが可能ではあります。

対応機種

空間スキャンは除いて、位置合わせ可能な端末の一覧です。

こうしてみると、Anroid , iPhoneは全てに対応しており、VuforiaやImmersalはシースルー型デバイスにも対応しているといった感じですね。
OpenXR化がより進むと、LightshipやGeospatialも将来は使えるようになるかもしれませんね。

Immersalの場合は、REST APIが用意されているので、カメラ画像にアクセス出来る機材なら一応可能になります。Vuforiaで空間スキャンする時は、特殊な機材を除くとLiDAR搭載iOSデバイスのみなので気をつけてください。

ネット接続必須か?

日本ならよっぽどの秘境にいかない限り、繋がらない場所は無いと思いますが、こんな経験をしたことがある方がいるのではないでしょうか?

  • 展示会やデモの本番に限って、ネットが繋がらなくて失敗した。

  • 屋外で繋がりにくい環境にいて失敗した。

以上の経験からローカル環境でも動くというのはかなり重要な要素だと思います。実装方法によりますが、VuforiaとImmersalならローカル環境でも動かすことが出来ます。

ストプラクティス

ドキュメントに掲載されている空間スキャン時の各種ベストプラクティスをまとめてみました。
GeospatialAPIはそもそも空間スキャンが必要ないので除きます。

  • Vuforia Area Target

    • ドキュメント : Best Practices

    • スキャン用アプリ : Vuforia Creator App

    • 有効範囲 : 10㎡から最大50㎡

    • スキャン距離 : 0.5~2m

    • 撮影形式 : 動画

    • 有効な環境

      • スキャン対象は屋内の部屋全体を推奨。

      • 十分な特徴的なオブジェクトがある。

      • 動く物がない。

      • 屋内は、曇りの日が平均的な照明を得られてちょうど良い。

      • 屋外は、日光や影、直物の影響を受けやすいため推奨していない。

    • 手順

      • ゆっくり一定の速度で上下に動かしながら撮る。

      • テーブルやスクリーンなどの平らな構造物は、両面からスキャンする必要はない。

      • 部屋をスキャンするときは、パスに沿って重複しないように撮る。

  • Immersal

    • ドキュメント : How To Map

    • スキャン用アプリ : Immersal Mapper

    • 有効範囲 : 記載無し

    • スキャン距離 : 記載無し

    • 撮影形式 : 画像

    • 有効な環境

      • 反射性が低い

      • 大きな領域で色が均一ではない。

      • 視覚的な特徴がある。

      • 動く物がない。

      • 一定の明るさがある。

    • 手順

      • 様々な角度、距離からゆっくり動かしながら、画像をこまめに撮る。

      • ※経験上、部屋の棚をスキャンするのに10分ぐらいかけて60枚ぐらい取る必要あり。

  • Lightship VPS

    • ドキュメント : スキャンのベストプラクティス

    • スキャン用アプリ : Niantic Wayfarer

      • 有効範囲 : 直径10m以下

      • スキャン距離 : 1.5m

      • 撮影形式 : 動画

      • 有効な環境

        • スキャン対象は銅像、机、扉等の小さなオブジェクトが推奨。

        • 反射性が低い。

        • 動く物がない。

        • 十分な明るさがる。

        • 人が入らない。

      • 手順

        • デバイスは縦向きで持つ。

        • オブジェクトに真っすぐ向けながら、周囲をゆっくり歩いて撮る。

まとめてみると、

  • 巨大な建物等を利用したいならImmersal

  • 屋内の部屋全体を利用したいならVuforiaAreaTarget

  • 銅像等の小さなオブジェクトを利用したいならLightshipVPS

以上のようなユースケースが考えられるのではないかと思いました。
どのVPSを利用するにしても、物動いたり、明るさが変わったり、
スキャン対象の環境が変わらないことが重要ですね。
使い方次第で、ImmersalやVuforiaAreaTargetでも
小さいオブジェクトを利用した位置合わせは可能です。

空間スキャン・位置合わせのしやすさ

※個人の主観です。
Geospatial API >>>> Lightship VPS >> Vuforia Area Target >>>>>>>> Immersal

1位 Geospatial API

空間スキャンのいらないGeospatial APIが断然楽でした。
スキャンがいらないので、位置合わせ用にメタデータをUnityプロジェクト
に含める必要が無いのも楽です。
デメリットは、屋内やストリートビューに映ってないところは使用できないので注意が必要です。

2位 Lightship VPS

1分ほどでスキャンが完了(大きさによる)し、特殊な機材が必要なく、AndroidやiOSで可能なのが楽でした。
位置合わせも体感的にですが、対象に向けたらすぐに出来た印象でした。
デメリットですが、スキャンはすぐに出来ますが、モデルが出来るまで、
Lightshipの専用サーバーにアップロード後2~3時間は待つ必要があります。

3位 Vuforia Area Target

Lightshipと同様に1分ほどでスキャンが完了(大きさによる)し、こちらは、サーバーに上げること無くローカルでモデルが完成するのが楽です。
位置合わせは、Listhshipとほとんど変わらなかった印象です。
ただしデメリットが大きく、LeicaやNavVis,Matterportといった特殊な機材や
LiDAR搭載iOSデバイスでしかスキャンが出来ないです。

4位 Immersal

Lightshipと同様に特殊な機材が必要なく、AndroidやiOSでスキャン可能ですが、大きな領域をスキャンしようとすると、30分で画像100枚以上は撮らないといけないので、かなり大変です。
スキャン後もサーバーにアップロードしてモデルが完成するまで待つ必要があります。位置合わせも体感的にですが、LightshipやVuforiaほど早くはできない印象でした。メリットは、屋内や屋外、領域の大きさ関係なしにスキャン出来ることだと思います。

開発のしやすさ

※個人の主観です。

Vuforia Area Target >> Lightship VPS >>>> Immersal >> Geospatial API

1位 Vuforia Area Target

老舗だけあって一番扱いやすかったです。
用意されているPrefabをシーンに配置し、ターゲットを設定すれば、
ソースコードを書かなくても位置合わせすることが出来ます。
Unityに慣れている方であれば、自分のプロジェクトに組み込むにも、
そこまで手間かからないのではないかと思います。

2位 Lightship VPS

WaySpotの概念ARDKのツールを理解する必要があります。
位置合わせを行うにはソースコードを書く必要があるため、
Vuforiaに比べると組み込むのに時間が掛かると思います。

3位 Immersal

Vuforiaと同様にPrefabを配置してターゲットを設定すれば、
ソースコードを書かなくても位置合わせは出来るのですが、
一度シーン遷移すると、位置合わせが出来なくなるバグがあったり、
モデル(glb)を作成する機能が一時期無くなったりと、不安定な要素が多いです。
サポートしているDiscordでも頻繁にバグの議論がされている印象です。
安定して動かそうと思うとSDKの改修に時間が掛かったため、
VuforiaやLightshipより大変でした。

4位 Geospatial API

上記3つに比べると、位置合わせを行うために必要なソースコード量が一番多いです。
サンプルソースを見ても、サンプルのための要素が多くて、
位置合わせをどうやっているか理解するのに一番時間が掛かりました。
また、サンプル通りにやっても何故か地形アンカーや屋上アンカーが、
動かなかったりして、正解の実装が良く分からないのが難しかった印象です。

まとめ

  • Vuforia Area Target

    • 位置合わせの考え方

      • 屋内の部屋全体をスキャン対象としている。

      • スキャンした空間そのものがアンカーになる。

      • 実物にデバイスを向けることで位置合わせが出来る。

    • メリット

      • 空間スキャンが早い。

      • ローカルでモデルが完成する。

      • ローカルでも位置合わせが出来る。

      • 実装方法が理解しやすい。

      • 位置合わせに対応しているデバイスの幅が広い。

    • デメリット

      • LiDAR搭載iOSデバイスでしか空間スキャン出来ない。

  • Immersal

    • 位置合わせの考え方

      • 幅広い領域の空間スキャンに対応している。

      • スキャンした空間そのものがアンカーになる。

      • 実物にデバイスを向けることで位置合わせが出来る。

    • メリット

      • 大変ではあるが、広さを問わず空間スキャンが出来る。

      • 位置合わせに対応しているデバイスの幅が広い。

      • 位置合わせ用のREST APIがある。

      • ローカルでも位置合わせが出来る。

    • デメリット

      • 空間スキャンに時間がかかる。

      • SDKの作りが不安定。

  • Lightship VPS

    • 位置合わせの考え方

      • オブジェクトを空間スキャン対象としている。

      • スキャンした空間の中で、原点となるアンカーを設定する必要がある。

      • 実物にデバイスを向けることで位置合わせが出来る。

    • メリット

      • 空間スキャンが早い。

    • デメリット

      • iPadをサポートしていない。

      • Landscapeをサポートしていない。

  • Geospatial API

    • 位置合わせの考え方

      • ストリートビューに映っているとこなら利用可能。

      • 位置合わせは、自身の地球上の座標がどれくらい正しいか?判断した上で、地理座標にアンカーを配置して行う。

      • 以上の事から、実物を見なくても位置合わせ可能。

    • メリット

      • 空間スキャンが必要ない。

    • デメリット

      • SDKの作りが不安定。

      • 実装方法の理解が大変。

      • 屋内で位置合わせが出来ない。

まとめてみると、どのVPSも一長一短があると思いました。
Geospatial APIが楽で一番良いかなと思っても、屋内で利用したい場合は
VuforiaかLightshipを使う必要がある等、状況によって使い分ける必要があると思います。
観光地を見てると、まだまだQRコードを利用するやり方が圧倒的だと思うので、
今後これらのVPSを利用したやり方で、リッチなARコンテンツが増えていくことを願います。

この記事が気に入ったらサポートをしてみませんか?