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 の新機能
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.