本日はチュートリアル枠です。
今回自分が3年前HoloLens に初めて触れ右も左もわからない中開発を行った頃の自分に向けてチュートリアルを作成します。
〇HoloLensへアプリをデプロイしよう!
今回はHoloLensアプリ開発環境を1から構築することを目的とします。 下のようなテーマで書いていこうと思います。
2.MRTKを使おう!MRTKとは何か?
3.HoloLensの5大要素を学ぶ
・空間認識の表現←本日はここ
4.応用編
〇環境
・Unity2019.4.18f1(LTS)
・VisualStudio2019
●筆者PC環境
・OS:Windows10 Pro
・プロセッサ:11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz 3.50 GHz
・Microsoft HoloLens 1st
・Microsoft HoloLens 2
スペックに関しては高いほうが良いですが、HoloLensアプリ開発の場合VRと比べ求められるスペックは低いです。
VRアプリ開発の場合PC自体がVRReady(VRゲームを実行できる環境)であることがほぼ必須ですが、HoloLensの場合VRReadyではなくても開発自体はできます。
Unityが動くスペックであれば最低限問題ないです。
〇空間認識の表現
昨日のチュートリアルではHoloLensの空間認識(SpatialAwareness)の実装を行いました。
HoloLensのSpatialAwarenessではユーザーの周囲の物理環境を認識して、メッシュを張ることでHoloLensによって生み出されたデジタルなオブジェクトと現実の床や壁など物理情報を融合したMixedRealityを実現しています。
昨日の状態では動画のようにメッシュがはっきり描画されており、アプリの体験としては非常に邪魔な存在になっています。
今回はこのSpatialAwarenessのメッシュの見た目を変更していきます。
①hierarchyウィンドウから[MixedRealityToolkit]オブジェクトを選択し、インスペクターから[SpatialAwareness]のタブを開きます。

②[SpatialAwarenessSystemSettings]タブに設定されているProfileを[Clone]ボタンをクリックし複製します。

③設定されているProfileの最下部の項目[DisplaySettings]から[DisplayOption]を[Visible]から[Occlusion]に変更します。

この状態でHoloLens 実機にデプロイします。
ワイヤフレーム上に表示されていたメッシュが透明になっていることを確認できました。
次にMRTKで提供されているほかの表現を試してみます。
④[Visible]へと設定を戻し[Visible Material]に[MRTK_Pulse_SpatialMeshBlue]マテリアルを設定します。

この[MRTK_Pulse_SpatialMeshBlue]マテリアルはAssets/MRTK/SDK/Features/UX/Materials/PulseShaderにあります。

次に[MRTK_Pulse_SpatialMeshBlue]マテリアルを選択した状態でインスペクターウィンドウから[AutoPulse]にチェックを入れ、有効化します。

この状態でHoloLens実機でデプロイしてみていきます。
こちらの表現では周期的にパルスが現れる見た目を実装できます。
以上で空間認識の表現を実装できました。