夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

SceneUnderstandingを学ぶ Sceneunderstanding-simple シーンのデプロイ

本日はツール調査枠です

HoloLensの開発ツールはMixedRealityToolkit(MRTK)以外にもMicrosoft Map-SDK for Untiyなど様々なものが提供されています。

今回はその中でSceneUnderStandingを使用していきます。

〇SceneUnderstandingとは?

SceneUnderstandingはMicrosoftによって提供されているMRTKの拡張ツールで、HoloLensによって取得する空間認識機能を拡張します。

次のGitリポジトリで公開されています。

github.com

旧MixedRealityToolkit(HoloToolkit)では[SpatialUnderstanding]と呼ばれる機能が提供されており、MRTKに同梱されていましたが、MRTKv2移行は2.51現在は別の機能として提供されています。

〇Spatial Mapping(SpatialAwareness)との違い

HoloLensの特徴として[SpatialAwareness(空間認識)]機能があります。

[SceneUnderstanging]も[Spatialmapping]もどちらもHoloLensデバイス自体のセンサーにアクセスしてAPI経由で情報を受けとりますが、二つには次のような違いがあります。

・[SpatialMapping]には検知エリアに制限がありますが、[SceneUnderstanding]には制限がありません。無制限で検出を行えます。

・SpatialMappingに比べ[SceneUnderstanding]は壁や床、オブジェクトを解析することができます。

f:id:Holomoto-Sumire:20201223215028p:plain

〇SceneUnderstandingのサンプルプロジェクト

gitHubのページからサンプルプロジェクトを取得します。

①UnityHubを開き[リストへ追加]からダウンロードしたサンプルプロジェクトの[Assets]がある階層を選択してサンプルプロジェクトをリストに加え開きます。

f:id:Holomoto-Sumire:20201223215156j:plain

今回はUnity2019.3.9f1を使用しています。

②[Assets]→[SceneUnderstanding]→[Examples] から[SceneUnderstandingSample]のサンプルシーンを開きます

UnityEditor上で実行するとサンプルを見ることができます。

f:id:Holomoto-Sumire:20201223215508j:plain

このシーンでは[Wall]、[Platform]、[Background]、[Celling]、[Unknown]によってSpatiamMeshが区別されます。

③HoloLens用にビルド設定を行います。hierarchyウィンドウから[SceneunderstandingManager]オブジェクトを開き[Query Scene From Device]のチェックを外します。

f:id:Holomoto-Sumire:20201223215918j:plain

④[BuildSettings]から[SceneUnderstandingSample]のscene以外のシーンをビルドから外し該当シーンのみをビルドしデバイスにデプロイします。

f:id:Holomoto-Sumire:20201223220130j:plain

〇実機で確認

実機で確認します。

youtu.be

階段の一段一段しっかり認識して区別していることが確認できました。