VPS Immersal (実験的)
概要
UIを操作する事が出来ないため、このサンプルは実験的とされています。
このサンプルは、VPS(Visual Positioning System)であるImmersalを使用して、空間に対する位置合わせを自動で行います。
詳細
セットアップ
VPSマップの作成
公式ドキュメントの手順通りに進め、ImmersalのVPSマップを作成します。
VPSマップの確認
- ImmersalのDeveloper Portalにアクセスします。
- Unityプロジェクト内でマップをダウンロードするために以下の情報をメモしておきます。
- 「マップのID」
- 「アカウントのToken」
Unityプロジェクトのセットアップ
1. Snapdragon Spaces SDKのインポート
2. 依存パッケージのインポート
Immersal SDKのインポート
Window > PackageManager
を開きます。- 左上の
+▼
ボタンから、「Add package from git URL...」を選択します。 - URLの欄に、
https://github.com/immersal/imdk-unity.git
を入力して「Add」を選択します。 - Immersal SDKが、Unityプロジェクトにインポートされます。
Immersal SDK Samplesのインポート
Window > PackageManager
を開きます。- Immersal SDKを選択します。
- Samplesの項目を選択します。
- [Import]を選択します。
3. 設定の変更
以下のような「Immersal Project Validation」が表示される場合は、無視しても構いません。
特に「ARCore XR-Plugin Provider must be enabled.」はそのまま何もしないでおきます。
上記のARCoreに関するポップアップが再度表示されても無視して構いません。ARCoreを有効にしてしまった場合は、無効にする必要があります。
ARCoreを無効にするには、Project Settings > XR Plug-in Management > OpenXR (Androidタブ)
の「Google ARCore」のチェックを外します。
4. QONOQサンプルのインポート
-
以下のUnityパッケージをダウンロードします。
-
ダウンロードしたUnityパッケージをUnityEditorの
Project
タブにドラッグ&ドロップします。 -
サンプルがUnityプロジェクトにインポートされます。
5. シーンのセットアップ
-
Assets/Samples/QONOQ/Scenes/VPS Immersal/VPS-Immersal
シーンを開きます。 -
シーン内のImmersalSDKオブジェクトを選択します。
-
Immersal SDKコンポーネントの「Developer Token」に、前の項目でメモした「アカウントのToken」を入力します。
-
シーン内の
XR Space > XR Map
オブジェクトを選択します。- XR Mapコンポーネントの「Map id:」に、前の項目でメモした「マップのID」を入力します。
- 「Mapfile」と「Visualization」にチェックします。
- 「Download」を選択します。
-
XR Mapの子オブジェクトを選択して、点群が表示されることを確認します。
- 配置したいオブジェクトがある場合は、XR Mapオブジェクト以下に子オブジェクトとして配置します。
XR Mapの子オブジェクトにマップのGLBモデルを配置することで、任意のオブジェクトをマップのどこに配置するかの目安に出来ます。
※VPSマップを手動モードで作成した場合に限り、マップのGLBモデルが作成されます。
GLBモデルのセットアップ方法
- ImmersalのDeveloper Portalから、GLBモデルをダウンロードします。
- ダウンロードしたGLBモデルをUniGLTF等でUnityにインポートします。
- シーン内のXR Mapの子オブジェクトにマップのGLBモデルを配置します。
- 点群と3Dモデルが重ならない場合は、GLBモデルのTransformのRotationのY座標を180に設定します。
- 3Dモデルを作成したツールによっては、Sizeも(100などに)調整する必要があります。
- ビルドして、スマートフォンにアプリをインストールします。
アプリの使用方法
- アプリを起動すると、ローカライズ(位置合わせ)が始まります。
- VPSマップを作成した箇所にグラス(のカメラ)を向けます。
- ローカライズ状況は、UI上の「Successfull localizations」で確認できます。
- シーン上のXR Mapオブジェクト以下に事前に任意の3Dモデルを配置している場合は、ARグラス上でも配置した場所に3Dモデルが表示されます。
VPSは白壁のように無地の特徴が少ない場所は向いていません。カメラをより特徴的な箇所に向けるとローカライズの成功率が上がります。
マップの点群が表示されない場合
- シーン内の
XR Space > XR Map
オブジェクトを選択します。 - XR Map Visualizationコンポーネントの
Render Mode
を確認します。 - 「Editor Only」になっていればEditorに点群は表示されます。