Windows Mixed Reality モーションコントローラーを使用すると、Mixed Reality アプリケーションで相互作用が可能になり、有効視野 (FOV) 内で低遅延で正確な動きの追跡が可能になります。これは、ヘッドセットに内蔵されているセンサーによって実現されています。
もともと Unity エディターでは Windows Mixed Reality 入力ハードウェアをサポートできるように、Unity VR サブシステムでは 3 つの入力を別々のジョイスティックとして認識します。UnityEngine.Input クラスを使用して、これらの入力の軸とボタンの値を読みます。
適切に設定され、コンピューターに接続されると、モーションコントローラーは UnityEngine.Input.GetJoystickNames() のリストに Spatial Controller - Left、Spatial Controller - Right として表示されます。モーションコントローラーを適切に設定して接続する方法については、アニメーション コント ローラーに関する Microsoft のドキュメント を参照してください。
Unity では、スクリプトを通してジョイスティックの名前がリストにあるかどうかを定期的にチェックすることによって、コントローラーが使用可能かをチェックすることができます。コントローラーの電源を切るか、バッテリーを取り外すと、UnityEngine.Input.GetJoystickNames() によって返されるリストの名前が空の文字列に変わります。コントローラーの電源を入れると、その名前がリストに再表示されます。
下の図は Windows Mixed Reality コントローラーで使用可能なボタンを示しています。
下の表は、相互作用のタイプ、ボタンの ID、軸、コントローラーによって Unity に入力される値の範囲を示しています。
ハードウェアの機能 | 操作 | Unity Button ID | Unity Axis ID | Unity Axis 値の範囲 |
---|---|---|---|---|
Touchpad | 接触 | Left: 18 Right: 19 |
- | - |
Touchpad | 押す | Left: 16 Right: 17 |
- | - |
Touchpad | 水平移動 | - | Left: 17 Right: 19 |
–1.0 から 1.0 |
Touchpad | 垂直移動 | - | Left: 18 Right: 20 |
–1.0 から 1.0 |
Thumbstick | 押す | Left: 8 Right: 9 |
- | - |
Thumbstick | 水平移動 | - | Left: 1 Right: 4 |
–1.0 から 1.0 |
Thumbstick | 垂直移動 | - | Left: 2 Right: 5 |
–1.0 から 1.0 |
Select Trigger | 押す | Left: 14 Right: 15 |
- | - |
Select Trigger | 握る | - | Left: 9 Right: 10 |
0.0 から 1.0 |
Grip button | 押す | Left: 4 Right: 5 |
- | - |
Grip button | 握る | - | Left: 11 Right: 12 |
0.0 か 1.0* |
Menu button | 押す | Left: 6 Right: 7 |
- | - |
Windows Mixed Reality コントローラーの Unity 向け入力の詳細
以下の表は、Window Mixed Reality コントローラーの入力時に使用可能なさまざまな軸と、各軸の正方向と負方向を示しています。
軸 | 正の方向 | 負の方向 |
---|---|---|
水平 | 左 | 右 |
垂直 | 上 | 下 |
Windows MR モーションコントローラーを Unity で使用する詳しい情報は、Windows Developer Center ドキュメントの Motion Controllers in Unity を参照してください。
2017–11–21 編集レビュー を行ってパブリッシュされたページ
2017.2 の新機能