Hololens2のエミュレータ開発環境構築


結論

Hololens2用のエミュレータは、プロセッサ:i5-7300HQ、RAM: 8Gだと動くけど使い物にならない。

環境

  • Windows 10 Pro
  • プロセッサ: i5-7300HQ
  • RAM: 8GB
  • システムの種類: 64ビット
  • HP PAVILION

開発環境構築

MicrosoftのDocsに沿って進めてみる。

Hololensの開発に必要なテクノロジーパスの選択

https://docs.microsoft.com/ja-jp/
Docsのドキュメントディレクトリには、MixedRealityに関する項目はなさそうである。

「Windows」を選択すると、MixedRealityに関する項目がある。

「Mixed Reality の概要」を確認し、「開発を始める」を選択する。

Hololensを開発するテクノロジーパスとして、2020/5/23現在、4つの方法がある。

  • Unity
  • Unreal
  • JavaScript
  • Native

上2つはゲームエンジンで、「JavaScript」はブラウザ上で動作するMRアプリを作成する際に使用すると理解。
また、Windows Mixed Reality APIsを直接修正したい場合は「Native」を選択して開発すると理解。
やったことがあるという理由で、Unity開発を採用。
https://docs.microsoft.com/ja-jp/windows/mixed-reality/unity-development-overview

各種ツールのインストール

Docsに記載されている通り、各種ツールをインストールする
https://docs.microsoft.com/ja-jp/windows/mixed-reality/install-the-tools

  • Windows 10
    • 開発者モードに変更。開発者モードに変更しないと制限される内容はわかっていない。
  • Windows 10 SDK(10.0.18362.0 2020/5/23時点)
    • SDKのバージョンは、レジストリ エディターから確認できる、バージョンが古かったためインストールする。

「Unity」と「Visual Studio」については次のように記載されていた。

Unity に関する注意事項: 特定の目的のために意図的により新しいバージョンの (LTS 以外の) Unity をインストールしようとしているのでなければ、Visual Studio のインストールの一部として Unity ワークロードをインストールするのではなく、下記のように Unity 2018.4 LTS ストリームをインストールすることをお勧めします。

Visual Studio 2019 16.2以降

念のため「MRTK」が推奨している「Unity」と「Visual Studio」のバージョンを確認したところ、同様だったためインストールする。
https://github.com/Microsoft/MixedRealityToolkit-Unity

  • Visual Studio 2019 16.5

    • Docsの通り、ワークロードの「C++によるデスクトップ開発」「ユニバーサルWindowsプラットフォーム開発」を追加、また「ユニバーサルWindowsプラットフォーム開発」のオプションの「USBデバイスの接続」を追加
  • Unity

    • UnityHubをダウンロードする(https://unity3d.com/jp/get-unity/download)
    • Docsが推奨している、2018.4.23f1 LTSをインストールする
    • モジュールの追加で、「UWP Build Support(IL2CPP)」を追加する

エミュレータのインストール

Hololens2が手元にないためエミュレータをインストールする。リンク先のシステム要件を満たしているか注意が必要。
https://docs.microsoft.com/ja-jp/windows/mixed-reality/using-the-hololens-emulator

  • Hololens2のエミュレータでは、仮想化技術を使用しているためBIOSの設定を変更する。
    BIOSから「System Configuration」-「Virtualization Technology」を「Enabled」に変更する。

  • 「コントロールパネル」-「プログラム」-「プログラムと機能」-「Windowsの機能の有効化または無効化」にて「Hyper-V」にチェックをいれ、マシンを再起動させる。

  • Hololens2用のエミュレータをダウンロードし、インストールする。

MRTKの設定

MRTKのガイドに沿って設定していく。
https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/GettingStartedWithTheMRTK.html#get-the-latest-mrtk-unity-packages

  • リンク先から、「Microsoft.MixedReality.Toolkit.Unity.Foundation.2.3.0.unitypackage」をダウンロードする。

  • Unityにて新規プロジェクトを作成

  • MRTKをインポート


  • ビルドする

Holens2用エミュレータの起動

  • Visual Studioにて作成したプロジェクト開き、対象のデバイスにエミュレータを選択

  • デバッグ実行し、エミュレータを起動する。(7~8分かかる)

現状のPCスペックだと、CPUとメモリが100%近くになってしまいエミュレータがフリーズしてしまった。。。

参考

参考にさせていただきました。ありがとうございました。
https://www.slideshare.net/TakahiroMiyaura/mrtk-v2-178304375
https://forest.watch.impress.co.jp/docs/news/1253524.html
https://docs.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/deploy/deploy-graphics-devices-using-remotefx-vgpu
https://bluebirdofoz.hatenablog.com/entry/2019/11/04/014834