XR Controller Recorder で Controller の相対位置を記録保存・リプレイ再生する 【XR Interaction Toolkit】
XR Interaction Toolkit の XR Controller Recorder の機能について調査してました. XR Controller Recorder は XR Interaction Toolkit の Sample Scene には特に搭載されてなかったので, ドキュメントで発見するまでこいつの存在にさえ気づいていませんでした.
検証環境
- Unity 2019.4.17f1
- URP 7.3.1
- XR Interaction Toolkit 1.0.0-pre.2
XR Controller Recorder
コントローラの相対位置を記録保存することが出来,それをリプレイ再生することができます.
準備
どういうことか説明が難しいので,まずは準備.
XR Controller Recording は Scriptable Object で XR Controller Recorder のための SO 設定です. XR Controller Recording は Create > XR > XR Controller Recording で作成します.
作成するとこんな感じになります.
動作確認
実行するとEditor拡張で,Record Input,Play のボタンが現れます.
Record Input を押下して,右コントローラを動かしてみます.
Record Input が Stop になるので,Stop を押下します. この後,Sample XR Controller Recording を見てみます.
左から Frame,Position情報,Rotation(Quaternion)情報が保存されています.
Play ボタンを押下してみましょう.
先ほど保存されたコントローラの情報を出力し,リプレイしてくれます.
終わりに
ニッチな機能すぎて,使いどころが難しいですね…. MRTK の Hand Coach みたいな感じで使えればよいんですが…. VR系の実験でこれを利用して,データ取得のためにワンチャン使えそう.
ちなみに,XR Controller Recorder をリプレイ中は,該当コントローラは動かせません. Position 情報,Rotation (Quaternion) 情報は XR Rig に対する相対位置なので 注意.