夜風のMixedReality

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

HoloLens 2でRecordServiceを使用する その②

本日はMRTKの調査枠です。

MRTKでは[Input Recording Service]と呼ばれる機能が実装されています。

[Input Recording Service]はユーザーの動きを記録・保存する機能で[Input Simulation Service]を用いてUnityエディタ内で再生することができます。

今回はこれを勉強しながらアプリ内でユーザーの動きを録画してみます。

前回はドキュメントを読み解きながら各サービスの概要をつかみました。

〇MRTKExamples

 今回はMRTKのExamplesで提供されている[HandInteractionExamples]シーンを用いてレコードを行います。

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

[HandInteractionExamples]シーンは[MixedRealityFeatureTool]を使用して[MixedRealityToolkit Examples]を導入します。

今回はMRTK v2.72で検証します。

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

[MixedRealityToolkit Examples]を導入後UnityのPackageManagerから[Mixed RealityToolkit Examples ]の[Samples]から[Demos-HandTracking]をインポートします。

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

これによってAssets/Sample/Mixed Reality Toolkit Examples/2.7.2/Demos - HandTracking/Scenes内に[HandInteractionExamples]シーンが導入されています。

〇レコード

シーンには[ToggleFeaturesPanel]として記録を行うことができるボタンが配置されています。

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

実機でこのボタンを選択することでユーザーの頭、手の動きが記録されバイナリーデータとして出力されます。

これはApplication-persistentDataPathが保存先として選ばれており、デバイスごとに外部参照可能な場所に出力されるようになっています。

youtu.be

〇再生

HoloLens 2の場合記録されたデータはデバイスポータルの機能を使用して取り出し可能です。

バイスポータルのタブから[FileExproler]を開きます。

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

LocalAppdata/(アプリ名)/LocalState/に[InputAnimation○○]として記録されたバイナリデータがあります。これをダウンロードします。

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

Unityを開き上部ワールドタブより[MixedReality]→[Toolkit]→[Utilitis]→[InputSumilation]を開きます。

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

これはUnityエディタを再生しているときのみ使用可能です。

Playbackタブ→[Load] でダウンロードしたバイナリファイルを選択し再生ボタンを押すことで記録したデータを再生可能です。

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

youtu.be

以上で実機での動きをEditor内で再現できました。