XR Device Simulator を利用してマウスキーボードでVRアプリ内の操作を行う【XR Interaction Toolkit】
XR Device Simulator を利用してマウスキーボードでVRアプリ内の操作を行います.
XR Device Simulator
XR Interaction Toolkit の Samples に XR Device Simulator があります. VRHMDを持ってなくても,Unity Editor モードで VRモード操作のシミュレーションが出来ます.
こちらの機能は Input System Package を有効にしている場合に利用できます.これが Action-based の恩恵ですね.
導入方法
Package Manager の XR Interaction Toolkit の Samples から XR Device Simulator があるので,Import into Project を選択します.
Hierarchy に XR Device Simulator の Prefab を配置すると利用可能になります.
使用方法
XR Device Simulator のデフォルト設定を前提に話を進めます. 主なシミュレータ操作について記述します.
コントローラについて
- Shift キー:左コントローラモード
- Space キー: 右コントローラモード
コントローラのTransformを変更する
- Shift キー + マウス操作:左コントローラのTransformを変更
- Space キー + マウス操作:右コントローラのTransformを変更
コントローラのRotateを調整する
- Shift キー + スクロールボタン押下 + マウス操作:左コントローラのRotateを変更
- Space キー + スクロールボタン押下 + マウス操作:右コントローラのRotateを変更
また,同様に
- Tボタン押下後にマウス操作:左コントローラのRotate変更モード
- Yボタン押下後にマウス操作:右コントローラのRotate変更モード
になります. モードを変更すると再度同じボタンを押下しないと解除しないので注意です.
コントローラのスティック操作
- Shift + WASD キー:左コントローラのスティック操作
- Space + WASD キー:右コントローラのスティック操作
今回,左コントローラのスティック操作には Continuous Move Provider が, 右コントローラのスティック操作には Continuous Turn Provider が適用されているので, Shift + WASD で移動,Space + WASD で視点回転が行われます.
ちなみに,IJKL キーを押下すると,Shift 押下時は 右コントローラのスティック操作を, Space 押下時には 左コントローラのスティック操作を,というよりもう片方のスティック操作を行うことができます.
つまり,
- Shift + IJKL キー:右コントローラのスティック操作
- Space + IJKL キー:左コントローラのスティック操作
になります.また,
を行うこともできます.
コントローラのボタン操作
左コントローラの操作は以下の通り.
- Shift + 左マウスクリック:左トリガーボタン
- Shift + Gボタン:左グリップボタン
- Shift + Bボタン:Xボタン
- Shift + Nボタン:Yボタン
右コントローラの操作は以下の通り.
- Space + 左マウスクリック:右トリガーボタン
- Space + Gボタン:右グリップボタン
- Space + Bボタン:Aボタン
- Space + Nボタン:Bボタン
終わりに
こんな感じですかね…. 他に気になるシミュレーション操作があれば,XR Device Simulator Controls の中身を見てみるとよいです.
Oculus Quest / Quest 2 を持っているならば,Link ですぐにデバッグは出来るので, XR Device Simulator は本当にXRデバイスを持ってなくて,Unity Editor で操作するしかない時にしか使わないかも. 簡単なデバッグには使えるか….