本日はMRTKの調査枠です。
MRTKでは[Input Recording Service]と呼ばれる機能が実装されています。
[Input Recording Service]はユーザーの動きを記録・保存する機能で[Input Simulation Service]を用いてUnityエディタ内で再生することができます。
今回はこれを勉強しながらアプリ内でユーザーの動きを録画してみます。
前回はドキュメントを読み解きながら各サービスの概要をつかみました。
〇MRTKExamples
今回はMRTKのExamplesで提供されている[HandInteractionExamples]シーンを用いてレコードを行います。
[HandInteractionExamples]シーンは[MixedRealityFeatureTool]を使用して[MixedRealityToolkit Examples]を導入します。
今回はMRTK v2.72で検証します。
[MixedRealityToolkit Examples]を導入後UnityのPackageManagerから[Mixed RealityToolkit Examples ]の[Samples]から[Demos-HandTracking]をインポートします。
これによってAssets/Sample/Mixed Reality Toolkit Examples/2.7.2/Demos - HandTracking/Scenes内に[HandInteractionExamples]シーンが導入されています。
〇レコード
シーンには[ToggleFeaturesPanel]として記録を行うことができるボタンが配置されています。
実機でこのボタンを選択することでユーザーの頭、手の動きが記録されバイナリーデータとして出力されます。
これはApplication-persistentDataPathが保存先として選ばれており、デバイスごとに外部参照可能な場所に出力されるようになっています。
〇再生
HoloLens 2の場合記録されたデータはデバイスポータルの機能を使用して取り出し可能です。
デバイスポータルのタブから[FileExproler]を開きます。
LocalAppdata/(アプリ名)/LocalState/に[InputAnimation○○]として記録されたバイナリデータがあります。これをダウンロードします。
Unityを開き上部ワールドタブより[MixedReality]→[Toolkit]→[Utilitis]→[InputSumilation]を開きます。
これはUnityエディタを再生しているときのみ使用可能です。
Playbackタブ→[Load] でダウンロードしたバイナリファイルを選択し再生ボタンを押すことで記録したデータを再生可能です。
以上で実機での動きをEditor内で再現できました。