メインコンテンツまでスキップ
バージョン: 0.23.2

VPS Immersal (実験的)

概要

WARNING

UIを操作する事が出来ないため、このサンプルは実験的とされています。

このサンプルは、VPS(Visual Positioning System)であるImmersalを使用して、空間に対する位置合わせを自動で行います。

詳細

カテゴリ

  • VPS

MiRZAに載せる上での特徴

  • 現実空間で位置合わせを行いARコンテンツを表示するVPSアプリにとって、現実側がよく見えることは重要です。MiRZAは他のARグラスに比べて現実の視界が明るく見えるため、現実をより主体としたAR(拡張現実)を提供する事が出来ます。

使用技術

ユースケース

  • 空間に基づいたコンテンツ
  • AR道案内

お問い合わせ先

セットアップ

VPSマップの作成

公式ドキュメントの手順通りに進め、ImmersalのVPSマップを作成します。

  1. Immersal Cloud Serviceアカウントの登録
  2. Immersal Mapperアプリのダウンロード
  3. VPSマップの作成
    • 手動モード
      • マップの作成にはコツが必要ですが、マップの3Dモデル(GLB)が作成されます
    • リアルタイムモード
      • マップの作成は簡単ですが、マップの3Dモデル(GLB)は作成されません。

VPSマップの確認

  1. ImmersalのDeveloper Portalにアクセスします。
  2. Unityプロジェクト内でマップをダウンロードするために以下の情報をメモしておきます。

Unityプロジェクトのセットアップ

1. Snapdragon Spaces SDKのインポート

  1. まだ、Snapdragon Spaces SDKをインポートしていない場合はインポートします。

  2. 以下のサンプルのパッケージもインポートする必要があります。

2. 依存パッケージのインポート

Immersal SDKのインポート

  1. Window > PackageManagerを開きます。
  2. 左上の+▼ボタンから、「Add package from git URL...」を選択します。
  3. URLの欄に、https://github.com/immersal/imdk-unity.gitを入力して「Add」を選択します。
  4. Immersal SDKが、Unityプロジェクトにインポートされます。

Immersal SDK Samplesのインポート

  1. Window > PackageManagerを開きます。
  2. Immersal SDKを選択します。
  3. Samplesの項目を選択します。
  4. [Import]を選択します。

3. 設定の変更

以下のような「Immersal Project Validation」が表示される場合は、無視しても構いません。

WARNING

特に「ARCore XR-Plugin Provider must be enabled.」はそのまま何もしないでおきます。 上記のARCoreに関するポップアップが再度表示されても無視して構いません。ARCoreを有効にしてしまった場合は、無効にする必要があります。 ARCoreを無効にするには、Project Settings > XR Plug-in Management > OpenXR (Androidタブ)の「Google ARCore」のチェックを外します。

4. QONOQサンプルのインポート

  1. 以下のUnityパッケージをダウンロードします。

  2. ダウンロードしたUnityパッケージをUnityEditorのProjectタブにドラッグ&ドロップします。

  3. サンプルがUnityプロジェクトにインポートされます。

5. シーンのセットアップ

  1. Assets/Samples/QONOQ/Scenes/VPS Immersal/VPS-Immersalシーンを開きます。

  2. シーン内のImmersalSDKオブジェクトを選択します。

  3. Immersal SDKコンポーネントの「Developer Token」に、前の項目でメモした「アカウントのToken」を入力します。 alt text

  4. シーン内のXR Space > XR Mapオブジェクトを選択します。

    • XR Mapコンポーネントの「Map id:」に、前の項目でメモした「マップのID」を入力します。
    • 「Mapfile」と「Visualization」にチェックします。
    • 「Download」を選択します。 alt text
  5. XR Mapの子オブジェクトを選択して、点群が表示されることを確認します。 alt text

    • 配置したいオブジェクトがある場合は、XR Mapオブジェクト以下に子オブジェクトとして配置します。
TIP

XR Mapの子オブジェクトにマップのGLBモデルを配置することで、任意のオブジェクトをマップのどこに配置するかの目安に出来ます。
VPSマップを手動モードで作成した場合に限り、マップのGLBモデルが作成されます。 alt text

GLBモデルのセットアップ方法

  1. ImmersalのDeveloper Portalから、GLBモデルをダウンロードします。
  2. ダウンロードしたGLBモデルをUniGLTF等でUnityにインポートします。
  3. シーン内のXR Mapの子オブジェクトにマップのGLBモデルを配置します。
  4. 点群と3Dモデルが重ならない場合は、GLBモデルのTransformのRotationのY座標を180に設定します。
    • 3Dモデルを作成したツールによっては、Sizeも(100などに)調整する必要があります。
  1. ビルドして、スマートフォンにアプリをインストールします。

アプリの使用方法

  1. アプリを起動すると、ローカライズ(位置合わせ)が始まります。
  2. VPSマップを作成した箇所にカメラを向けます。
  3. ローカライズに成功すると、UI上の「Successfull localizations」の分子の値が増えます。
  4. シーン上のXR Mapオブジェクト以下に事前に任意の3Dモデルを配置している場合は、ARグラス上でも配置した場所に3Dモデルが表示されます。
TIP

VPSは白壁のように無地の特徴が少ない場所は向いていません。カメラをより特徴的な箇所に向けるとローカライズの成功率が上がります。

点群の表示

マップの点群が表示されない場合

  1. シーン内のXR Space > XR Mapオブジェクトを選択します。
  2. XR Map VisualizationコンポーネントのRender Modeを確認します。
  3. Editor Only」になっていればEditorに点群は表示されます。 alt text

グラス実機でも点群を表示したい場合

  1. 前項のRender Modeで「Editor And Runtime」を選択することで、ARグラス実機でも点群が表示されます。 alt text