本日は HoloLens2 の技術調査枠です。
HoloLens2-ResearchMode-Unityを使ってHoloLens2の深度センサ情報をUnityで取得してみます。
前提条件
以下の手順に基づき、HoloLens2 の ResearchMode を有効化しておきます。
bluebirdofoz.hatenablog.com
HoloLens2-ResearchMode-Unity
petergu684 氏が公開している HoloLens2 で ResearchMode 機能を使用するための Unity プラグインです。
本プラグインを利用することで Unity アプリから HoloLens2 の深度センサ情報などを取り扱うことができます。
github.com
プロジェクトのダウンロード
GitHub から GIT のクローンまたは[Download ZIP]でプロジェクトファイルをダウンロードします。
フォルダを展開すると、以下の2つのプロジェクトが含まれています。
HL2UnityPlugin
Unity プラグインのプロジェクトフォルダです。
ソリューションファイルはフォルダ直下にある HL2UnityPlugin.sln です。
UnitySample
HL2UnityPlugin を利用してセンサ情報を表示する Unity のサンプルプロジェクトです。
Unityプロジェクトのビルド
プロジェクトを試すには UnitySample フォルダを Unity で開きます。
UnitySample フォルダにはビルド済みの HL2UnityPlugin プラグインが含まれているため、事前に HL2UnityPlugin をビルドする必要はありません。
[Assets/Scenes]フォルダ配下の PointCloudSample.unity を開きます。
メニューから[File -> BuildSettings]を開き、[UWP]プラットフォームを選択して[SwitchPlatform]を実行します。
マニフェストの設定
ビルドして作成されたソリューションファイルを開きます。
ビルド設定をを[Release][ARM64]に設定します。
プラットフォームはプラグインが[ARM64]対応のため、[ARM]では動作しません。
ソリューションから Package.appxmanifest をXML(テキスト)エディターで開きます。
[Package]タグの[xmlns:mobile]の後に、以下の[xmlns:rescap]の設定を追記します。
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
[Capabilities]タグの[uap2:Capability]の後に、以下の[rescap:Capability]の設定を追記します。
<rescap:Capability Name="perceptionSensorsExperimental"/>
インストール先に HoloLens2 のIPアドレスの[リモートコンピュータ]または、USB接続をして[デバイス]を指定します。
メニューから[デバッグ -> デバッグなしで開始]を実行してビルドと HoloLens2 へのインストールを行います。
HoloLens2上での動作確認
センサのアクセス許可を設定する初回起動時は正常に動作しないため、一度アクセス許可を設定した後、アプリを終了します。
アプリを再起動し、近距離の Depth センサ映像、点群データ、左右の環境認識カメラの映像が表示されれば成功です。