MRが楽しい

MRやVRについて学習したことを書き残す

MRTK v2を使ってUnityEditor内でのシミュレーション機能を操作する

本日は MRTK の調査枠です。
MRTKv2を使ったUnityEditor内でのシミュレーション機能の操作方法を記事にします。
f:id:bluebirdofoz:20191108122535j:plain

UnityEditor上のシミュレーション操作

シミュレーションの基本的な操作キーは以下の通りです。

シーン内の移動

カメラ(視点)の操作によるシーン内の移動が以下の操作で可能です。

W/A/S/D キーカメラを前後(W/S)、左右(A/D)に移動する
Q/E キーカメラを上(E)、下(Q)に移動する
マウスの右ボタン+マウス操作カメラをその場で回転する
f:id:bluebirdofoz:20191108122545j:plain

手の動き

右手または左手を以下の操作でシーン内に表示できます。

Space キー右手をシーンに表示する
Shift キー左手をシーンに表示する
f:id:bluebirdofoz:20191108122555j:plain

Space または Shift キーを押下したまま、以下の操作を行う事で手の動きをシミュレートできます。

マウス操作手の位置を動かす
マウスのホイール操作手の奥行の位置を調整する
マウスの左ボタンピンチジェスチャ(タップ)を行う
CTRL キー+マウス操作手をその場で回転する
f:id:bluebirdofoz:20191108122605j:plain

マウス操作を利用する関係上、右手と左手を同時に別々に動かすことはできません。
しかし、以下の T キーまたは Y キーを利用することで手の動きを固定し、両手のシミュレートを行うことは可能です。

Y キー右手の位置と動きを固定/固定解除する
T キー左手の位置と動きを固定/固定解除する
f:id:bluebirdofoz:20191108122614j:plain

入力シミュレーション

入力シミュレーションウィンドウを開くことで、これらのシミュレーションの各機能にアクセスすることができます。
メニューから Mixed Reality Toolkit -> Utilities -> Input Simulation でウィンドウを開きます。
f:id:bluebirdofoz:20191108122627j:plain

[Head]パネルでは現在のカメラ(視点)位置と回転が表示されています。
直接、値を入力することでカメラ位置を変更することもできます。
[Reset]ボタンで設定値をリセットできます。
f:id:bluebirdofoz:20191108122635j:plain

[Hand Simulation Mode]では以下の3つのハンドシミュレーションのモードが選択可能です。
・Disabled
 ハンドシミュレーションを行いません。
・Gestures
 エアタップや基本的なジェスチャを行うシンプルなハンドシミュレーションを行います。
 フォーカスは視線ポインターを使ってコントロールします。HoloLens1 の操作に近いシミュレーションです。
・Articulated
 関節の位置データを持った多関節ハンドの操作をシミュレーションします。
 HoloLens2 のインタラクションモデルをエミュレートするのに有効です。
 ハンドの正確な位置やタッチに基づいたインタラクションをシミュレーションできます。
f:id:bluebirdofoz:20191108122645j:plain

[Hand]パネルでは現在の左右ハンドの位置と回転が表示されています。
[Always Visible]にチェックを入れると、常にハンドをシーン上に表示するようになります。
位置と回転はカメラからの相対値になります。[Reset]ボタンで設定値をリセットできます。
f:id:bluebirdofoz:20191108122655j:plain

入力シミュレーションの記録

[Record]ボタンを有効化しているとき、シミュレーションの操作を記録することができます。
f:id:bluebirdofoz:20191108122708j:plain

[Use Buffer time limit]はチェックしていると記録時間の上限を設定できます。
単位は秒です。例えば[5]を設定していると、5秒以上の操作を行っても最後の5秒間だけのシミュレーション操作が記録されます。
赤丸の[記録]ボタンをクリックすると、操作の記録が始まります。
f:id:bluebirdofoz:20191108122718j:plain

シミュレーションの操作を行い、保存したいタイミングで再び[記録]ボタンをクリックします。
f:id:bluebirdofoz:20191108122728j:plain

記録データを保存するディレクトリの指定を求められます。
フォルダを作成するか任意のディレクトリを指定して、[保存]します。
f:id:bluebirdofoz:20191108122737j:plain

入力シミュレーションの再生

記録したシミュレーションの操作は[Playback]ボタンを有効化して再生することができます。
f:id:bluebirdofoz:20191108122749j:plain

[Load]ボタンをクリックして、再生したい記録バイナリデータを指定します。
先ほど保存した記録データを指定してみます。
f:id:bluebirdofoz:20191108122759j:plain

記録データを読み込みました。
[再生]ボタンをクリックすると、シミュレーションを再生することができます。
f:id:bluebirdofoz:20191108122809j:plain

ボタンとスライダー操作で先頭、終了位置への移動、コマ送り、任意のタイミングへの移動が行えます。
操作の難しい動作を何度も行いたい場合や、同じシミュレーション操作を試験したい場合などに活用できます。
f:id:bluebirdofoz:20191108122820j:plain