- 弊社製「MUN」を使い、Microsoft社製HoloLensを利用したアプリケーションのサンプルデモです。
- MUNとは「Monobit Unity Networking」の略称で、Unity向けに作成されたマルチプレイ通信ライブラリです。
http://www.monobitengine.com/mun/ - 本デモでは「MUN」のVRボイスチャット拡張機能を実装した「VR Voice Chat with MUN」を使用しています。
http://www.monobitengine.com/vrvc/ - 本デモは、「VR Voice Chat with MUN 2.6.0」が導入済みの状態で頒布しております。
- MUNとは「Monobit Unity Networking」の略称で、Unity向けに作成されたマルチプレイ通信ライブラリです。
- Microsoft社製HoloLens, HoloLens2
以下の手順で DevicePortal への登録処理と、デバイスのペアリングは済ませておいてください。
https://docs.microsoft.com/ja-jp/windows/uwp/debug-test-perf/device-portal-hololens - UnityEditor(Unity2019.1.0 以降のバージョン)
あらかじめ UniversalWindowsPlatform(UWP), VuforiaAugumentedReality の BuildSupportComponent をインストールしている必要があります。
- WindowsSDK(10.0.18362.0 以降のバージョン)
https://developer.microsoft.com/ja-jp/windows/downloads/windows-10-sdk - VisualStudio2017
https://visualstudio.microsoft.com/ja/vs/older-downloads/ - モノビットエンジンクラウド接続環境
https://web.cloud.monobitengine.com/
こちらを参考に、モノビットエンジンクラウドのアカウント登録を済ませ、
MUNバージョン2.7.0 用の「アプリケーションID」と「MUNリゾルバ一覧取得エンドポイント」を取得してください。
本デモでは複数のHololens上で同一のAR空間を同期するために、VuforiaEngineを利用します。
- VuforiaDeveloperAccountの登録
VuforiaEngineを利用するためにVuforiaDeveloperAccountの登録を行ないます。
https://developer.vuforia.com/vui/auth/register
- ライセンスキーの作成
登録が完了したらLoginし、LicenseKeyを作成します。
- Vuforia認証画像のアップロード
このライセンスキーで使用する、認識画像のアップロードを行ないます。
- プロジェクトのセットアップ
- UnityEditor用のプロジェクトを https://github.com/MonobitInc/HoloLens-sample.git から clone して生成します。
- 生成したディレクトリを UnityEditor 上で開いてください。
途中で以下のポップアップが表示される場合、Apply を選択して Mixed Reality Toolkit XR Setting を有効にください。
- UnityEditor用のプロジェクトを https://github.com/MonobitInc/HoloLens-sample.git から clone して生成します。
- Vuforia認証画像のインポート
- 上記認証画像のアップロードで作成したターゲットから、認証画像データを含むパッケージをダウンロードします。
- ダウンロードしたパッケージを、UnityEditor上にインポートしてください。
- 上記認証画像のアップロードで作成したターゲットから、認証画像データを含むパッケージをダウンロードします。
- HololensSampleのシーン設定
- UnityEditor上で Assets/Monobit Unity Networking/Samples/Scenes/HololensSample/HololensSample.unity のシーンを開きます。
- HololensSample シーンの Hierarchy から、ImageTarget のゲームオブジェクトを選択します。
- ImageTarget の Inspector にある Image Target Behaviour について、上記Vuforia認証画像のインポートでVuforiaからインポートした認証画像を選択します。
- UnityEditor上で Assets/Monobit Unity Networking/Samples/Scenes/HololensSample/HololensSample.unity のシーンを開きます。
- HololensSampleのビルド設定
- File -> Build Settings で Build Settings を開きます。
- Add Open Scenes のボタンを押し、HololensSample シーンを追加します。
- Platformを Universal Windows Platform に切り替えます。
- Player Settingsを開きます。
- UWP の Publishing Settings を開きます。
- Publishing Settings 内の Capabilities の項目内にある "InternetClient", "WebCam", "Microphone", "SpatialPerception" の4つの項目について、チェックボックスをONにします。
- UWP の XR Settingsを開きます。
- XR Settings 内の "Virtual Reality Supported", "Vuforia Augmented Reality Supported" のチェックボックスをONにします。
- File -> Build Settings で Build Settings を開きます。
- VuforiaEngine ライブラリをプロジェクトに追加
- XR Setting にて "Vuforia Augmented Reality Supported" を有効にすることで、UnityEditorの GameObject -> Vuforia Engine から任意のゲームオブジェクトが生成できるようになります。その中から "AR Camera" を一時的に作成します。
- 選択すると以下のようなポップアップウィンドウが表示されますので、Importを選択します。
- しばらく待つとImportが完了し、Assets 下に Vuforia のディレクトリが作成されます。
- Vuforia ディレクトリの作成を確認できたら、一時的に作成された "AR Camera" オブジェクトを削除します。
- VuforiaConfigurationの設定
- 上記ライセンスキーの作成で作成したライセンスキーの詳細データを開きます。
- UnityEditor上で Assets/Resources/VuforiaConfigration.asset を選択し、Inspector 画面にて以下の項目を設定してください。
- 上記ライセンスキーの作成で作成したライセンスキーの詳細データを開きます。
- モノビットエンジンクラウドへの接続設定
- UnityEditor上で Assets/Monobit Unity Networking/Resources/MonobitServerSettings.asset を選択し、Inspector 画面にて Server Settings の以下の項目を設定してください。
- Host Type : MBE Cloud を選択します。
- Protocol : TCP を選択します。
- Endpoint Address : 先に モノビットエンジンクラウド接続環境を構築する上でアカウント登録された情報のうち、「MUNリゾルバ一覧取得エンドポイント(http)」と書かれた項目をコピー&ペーストして入力します。
- AppID : 先に モノビットエンジンクラウド接続環境 を構築する上でアカウント登録された情報のうち、「アプリケーションID」と書かれた項目をコピー&ペーストして入力します。
- Host Type : MBE Cloud を選択します。
- UnityEditor上で Assets/Monobit Unity Networking/Resources/MonobitServerSettings.asset を選択し、Inspector 画面にて Server Settings の以下の項目を設定してください。
- HololensSampleのビルド
- HololensSampleは以下の操作によって実行できます。
キーボードの1 - キューブ生成
キーボードの2 - ルーム内のキューブ全削除
キーボードの3 - 接続/切断切り替え
マウスクリック - キューブの個別削除
ルーム内パネルの「生成」ボタン - キューブ生成
ルーム内パネルの「削除」ボタン - ルーム内のキューブ全削除
ルーム内パネルの「接続中/接続切れ」ボタン - 接続/切断切り替え
ルーム内に生成されたキューブ - キューブの個別削除