8thWall Lightship VPS調べてみた
Lightship VPS Overview
Lightship Visual Positioning System (VPS)により、8th Wallの開発者は、ユーザーの位置と向きをセンチメートルレベルの精度で数秒で決定する力を得ました。8thWallプラットフォームを使用すると、WebARプロジェクトでLightship VPSを使用して、現実世界とデジタル世界をつなぐロケーションベースのWeb AR体験を作成することができます。WebARコンテンツは場所に固定することができ、仮想オブジェクトがその場にいる空間と相互作用することを可能にします。これにより、拡張現実の体験がより個人的で、より有意義で、よりリアルに感じられ、ユーザーが自分の周りの世界を探索する新しい理由が生まれます。
Managing Wayspots
Geospatial Browser は、左側のメニューにあるマップアイコン(下の画像では #1 と注釈されています)を選択することで、プロジェクト内からアクセスすることが可能です。このページでは、マップビュー(#2)を使って VPS が作動している Niantic Wayspots を検索することができます。VPSが作動している場所を選択すると、その場所の3Dメッシュが表示されますので(#3)、正しい場所を選択したことを確認し、プロジェクトに追加することができます(#4)。
VPS を起動したウェイズスポットをプロジェクトに追加すると、Geospatial Browser の "Project Wayspots" テーブルにウェイズスポットが表示されます(下図の#1 の注釈付き)。Project Wayspots "テーブルにウェイスポットが表示されたら、"Download "ボタン(#2)を使って3DメッシュのGLBまたはOBJ(トグルは#3)バージョンをダウンロードし、Blenderなどのサードパーティの3Dソフトウェアアプリケーションで開いたり、8th Wallプロジェクトに直接インポートしたりすることが可能です。プロジェクトコードでウェイスポットを参照する場合、"Project Wayspots" テーブルの "Name" フィールド (#4) をコピーする必要があります。
プロジェクトで使用したい場所がウェイスポットとして利用できない場合、「新しいウェイスポットを作成する」の手順に従って、ウェイスポットの場所をナイアンティックに提出することができます。
Create New Wayspot
- 新しいウェイズスポットを作成する場所を地図上で選択します。(ウェイスポットを作成するのに適した場所の選択については、ウェイスポットの要件 を参照してください)。
- ウェイズスポットを作成します。Create Wayspot" ボタンをクリックして、新しいウェイズスポットを作成するプロセスを開始します。
- Check for Duplicates: 新しいウェイズスポットを作成する前に、作成するウェイズスポットが既に存在しないことを確認する必要があります。希望するウェイズスポットの位置をマップ上に既にある他のものと比較し、重複して作成していないことを確認します。重複していない場合は、"My Wayspot is not a duplicate" ボックスにチェックを入れ、"Next" ボタンをクリックして次に進みます。
- ウェイズスポット情報を追加します。ウェイズスポットのメタデータは、Geospatial Browserを使用している開発者が見ることができ、エンドユーザーも見ることができるようになります。ナイアンティックの信頼と安全チームは、あなたが提供した情報を使って、ウェイズスポットが一般に公開する基準を満たしているかどうかを判断することを忘れないでください。作成するウェイズスポットの以下の情報を追加したら、[Submit]ボタンをクリックしてください。
- ウェイズスポットはすぐに Geospatial Browser の Wayspot Submissions タブに追加され、タイプは "Pending" でステータスは "Not Activated" になります。このウェイズスポットを "公開 "にする要求が処理されている間、このウェイズスポットのスキャンとアクティベーションを続けることができます。ウェイスポットのタイプとステータスの詳細については、ドキュメントのウェイスポットのタイプセクションを参照してください。
Wayspot Requirements (Wayspotの要件)
ウェイスポットは、以下の基準を満たした場合のみ承認され、公開されます。
- 物理的、有形で識別可能な恒久的な場所、物体、または地域を示す目印となる物体であること。
- 歩行者が安全にアクセスできる(屋内または屋外)。
- タイトル、説明、写真に正確な情報が含まれていること。
ウェイスポットは、以下の基準も満たしている場合、ライトシップVPSでより良いパフォーマンスを発揮します。
- 直径10mの球体に収まる明確な焦点を持っていること。
- 外観が明確で一貫性のある特徴を持つ。(例:砂浜や、可動式の家具が置かれた混雑したパティオはうまく機能しません)。
- 反射したり、透明であるような特徴は最小限であること。
Scanning Wayspots
Niantic Wayfarer Appを使用することで、対象のWayspotを有効にするためのスキャンを追加したり、プライベートWayspot(開発用)を作成したりすることができます。Niantic Wayfarer Appは、iOS 12以降とiPhone 8以降が必要です。
Niantic Wayfarer Appをインストールするには、iOSデバイスのTestflight for Niantic Wayfarerにアクセスしてください。
アプリをインストールしたら、「Login with 8th Wall button」を押すことで、8th Wallの認証情報でログインすることができます。複数のワークスペースにアクセスできる場合は、アプリ内のプロフィールページで8th Wallワークスペースのドロップダウンを押すことで、ワークスペースを切り替えることができます。プライベートスキャンは、スキャン&アップロード時にプロファイルページで選択したワークスペースにのみ表示されます。
Wayfarerを使用してスキャンをウェイスポットに追加する方法など、Wayfarerアプリの使用方法については、こちらで詳しく説明しています。Niantic Wayfarerアプリを使用する。
スキャンしたVPSが有効な場所は、その場所の周囲に直径10メートル以下の大きさである必要があります。例えば、典型的な銅像はVPSを起動したウェイスポットとして機能します。しかし、建物全体はそうではありません。ビルの顔や出入り口なら使えるかもしれません。まずは小さなエリア(机、彫像、壁画など)から始めてみることをお勧めします。
スキャンする前に、周囲に気を配り、スキャンする場所にアクセスする権利があることを確認してください。
やり方
- スキャンするエリアとスキャン対象物の周囲を確認し、障害物の有無やスキャン経路の選定を行います。スキャンする経路を事前に計画しておく必要があります。
- カメラのピントが合っていることを確認してください。手ブレは3D再構成に悪影響を及ぼす可能性があります。手ブレを防ぐため、携帯電話はできるだけ手元に置いてください。一ヶ所に立って携帯電話を動かすのではなく、スキャンする対象物の周りを歩いてください。
- ゆっくりと自然なペースで歩いてください。スキャン中はゆっくりとスムーズに移動してください。急な方向転換は絶対にNGです。足が地面についている状態で、ゆっくりとスムーズに移動してください。暗い場所でスキャンする場合は、さらにゆっくりとスムーズに移動することが重要です。移動中は携帯電話も一緒に移動させましょう(カニ歩きをイメージしてください)。
- ウェイスポットは常に焦点であるべきです。地図を作成するためには、ウェイズスポットに焦点を合わせ、その360°の全周囲を撮影することが重要です。安全でない場合、または 360° の撮影が不可能な場合は、できる限り撮影してください。
- 距離/角度を変える(0-10mまたは0-35ft)。3Dマップを様々なシナリオでうまく機能させるためには、ウェイスポット周辺の環境をキャプチャし、様々な異なるスキャンをすることが重要です。ウェイズスポットをスキャンする際に、距離と角度を変えることが重要です。
Things to avoid while scanning (スキャン中避けること)
- 道路の真ん中や子供のいる遊び場など、周囲が安全でない場所でのスキャンは避けてください。
- ウェイスポットが遠すぎる(10m以上)、または大きすぎてカメラの焦点を合わせられない場合は、スキャンを避けてください。
- 何気なく散歩やジョギングをしているときにスキャンするのは避けてください。ウェイズスポットを常に焦点として維持することが重要です。
- 蛍光灯や太陽など、非常に明るいものに携帯電話を向けないようにしてください。
- スキャン中に動かなかったり、速く移動したりすることは避けてください。急激な動作は再構成のオフセットの原因となります。
- 携帯電話が熱くなりすぎる場合は、スキャンを避けてください。端末の温度が上がりすぎると、端末の性能が大きく低下し、スキャンに悪影響を及ぼします。
- 不完全に見えるスキャンや、スキャンしようとしているものを代表するものではないスキャンをアップロードすることは避けてください。
Enabling Lightship VPS in Your Project (プロジェクトで使おう)
WebARプロジェクトでLightshit VPSを有効にするには、enableVPSをtrueに設定する必要があります。
A-Frameプロジェクトの場合、<a-scene>上のxrwebコンポーネントでenableVps: trueを設定します。
非AFrameプロジェクトの場合、エンジン始動前のXR8.XrController.configure()のコールでenableVps: trueを設定します。
Example - AFrame
<a-scene
coaching-overlay
landing-page
xrextras-loading
xrextras-runtime-error
...
xrweb="enableVps: true;">
Example - Non-AFrame
XR8.XrController.configure({enableVps: true})
// Then, start the 8th Wall engine
Wayspot Events
8th WallはプロジェクトWayspotのライフサイクルの様々な段階でイベントを発行します(例:スキャン、発見、更新、紛失など)。あなたのウェブアプリケーションでこれらのイベントを処理するための具体的な手順はAPIリファレンスを参照してください。
- AFrame Events
- PlayCanvas Events
- XrController Dispatched Events