夜風のMixedReality

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

MixedRealityToolKit v2 Examplesを触ってみる PulseShaderExamples

MixedRealityToolKit(以下MRTK)にはExamplesというデモサンプル集が含まれています。

 Examplesを理解すればMRTKの機能の使い方を学習することやノンコーディングでのアプリ開発が可能になります。

 今回は MRTK v2.2.0で実験的にリリースされたPulseShaderExamples 見ていきます。

f:id:Holomoto-Sumire:20191213093038g:plain

〇シーン解説

   PulseShaderExamplesシーンはMixedRealityToolkit Examplesに含まれていますが、ほかのデモのようにDemoには入っていません。

 『Experimental』と呼ばれるフォルダに存在します。  f:id:Holomoto-Sumire:20191213083032j:plain

 このシーンではHoloLens 2で使用することができるHandMeshとHoloLens 1stでも使用できる空間認識のSpatialMeshの描画にPulseShaderを使用する方法を示しています。

 これらを実機のHoloLensで使用するためにはMRTKProfileで「Hand Mesh Visualization Mode」と「Spatial Awareness」を有効化する必要があります。

 sceneを見てみると3つのSphereがあり、PulseShaderが適応されたMaterialによってSFチックな見た目をしています。

 今回は実機でこれを動かします。

〇実機へビルドする。

   SpatialMappingやHoloLens 1stでは確認できませんが、HandMeshなどのための機能のため、デモシーンでは仮のオブジェクトに張り付けられており、その効果がよくわかりません。

 今回のシーンはまず初めに実機で動かしてみます。

〇Profileを変更する。

   実機で動かすためにはProfileを設定してSpatialMeshをPulseShaderに対応させます。

 hierarchyからMixedRealityToolkitのインスペクタを開きます。

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

 MixedRealityToolkitのProfileはデフォルトで設定されているProfile自体の中身を変更することはできません。

 コピーしてカスタマイズする方式となるのでCopy & Customizeをクリックします。

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

 ウィンドウが開くので新しいProfileに名前を付けCloneを選択します。

 Cloneの設定にはほかにも項目がありますが、今回は設定する必要がありません。

 Cloneが完了するとMixedRealityToolkitのProfileをコピーしたものに設定することができます。

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

 これで各設定を変更することができるようになりました。

 Target Scaleはアプリ実行する環境をあらかじめ設定する項目です。

 ここではRoom もしくは Worldを選択します。

〇SpatialAwarenessの設定

 SpatialMappingを扱うためにはSpatialAwarenessで設定できます。

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

 こちらもデフォルトのProfileのままでは設定を変えることができないのでCloneを選択してcloneします。

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

 SpatialMappingをアプリ内で扱うためにはEnable SpatialAwareness Systemにチェックを入れ有効化します。

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

 最後にSpatialMeshのMaterialをPulseShaderに対応したものに変えます。

 WindowsMixedRealitySpatialMeshObserverにあるDisplay Settingsで行います。

 Visible MaterialのMaterialにMRTK_SurfaceReconstructionをアタッチします。

 以上でPulseShaderに対応したSpatialMappingをアプリ内で可視化する設定が終わりました。

〇ビルド

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

 ターゲットプラットフォームがUWPであることを確認してTargetDeviceをHoloLens、architectureをx86に設定してBuildを選択します。

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

フォルダが開くので Appsという名のフォルダを新規で作成して、Appsフォルダを選択します。

 問題がなければAppsフォルダ内に.slnファイルが作られます。

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

〇デプロイ

 .slnファイルをVisualStudioで開きます。

 f:id:Holomoto-Sumire:20191213092002j:plain    ソリューションエクスプローラーの中にあるプロジェクトからPackage.appxmanifestを開きます。

 上部タグから機能を選択します。

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

 空間認識を探しチェックを入れます。

 最後にHoloLens実機をUSBで接続し、Release、x86、Deviceでデバッグタグからデバッグなしで実行を選択します。

 問題がなければ以上でデプロイが開始されます。

〇実機で確認する

youtu.be

これで実機でPulseShaderを確認することができるようになりました。