戯言日記

ホロレンジャーの戦いの記録

【翻訳】Motion controllers

【参照】
https://developer.microsoft.com/en-us/windows/mixed-reality/Motion_controllers.html

モーションコントローラはMixed Reality内でユーザーが行動するためのハードウェアアクセサリです。モーションコントローラのジェスチャーに対しての利点は、空間内で精確な位置を持ち、デジタルオブジェクトとのきめ細かいインタラクションができるという点です。Windows Mixed Reality Immersive headsetのために、モーションコントローラはユーザーらが自身の世界で行動するための主要な手段になります。

バイスサポート

f:id:haikage1755:20170903173321p:plain

ハードウェアの詳細

youtu.be

Windows Mixed Reality モーションコントローラは、Immersive headset のセンサーを利用して、視覚内の動きを精確かつ応答性良くトラッキングします。つまり、空間内の壁にハードウェアを取り付ける必要はありません。これらモーションコントローラは、Windows Mixed reality immersive headsetsと同じセットアップの簡易性と携帯性を提供します。当社のデバイスパートナーは、これらコントローラを製品化し、小売店で販売する予定です。

f:id:haikage1755:20170903174517p:plain
特徴

セットアップ

開始前に

必要なもの
  • 2つのモーションコントローラセット
  • 単3電池4本
  • Bluetooth 4.0が利用可能なPC
モーションコントローラサポートのためのWindows、Unityのアップデート

1. ツールのインストール(https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools)

2. Windows Insider flight と ドライバのページにて現在のソフトウェアの既知の問題とリリースノートの確認

現在のWindowsのバージョンの確認

1. 設定を開く
2. システムを選択する
3. バージョン情報の選択
4. OS BuildWindows Insider flight and driver notesにて指定されているモーションコントローラサポート対応のBuildと一致しているかを確認する
5. システムのバージョンとBuildが異なっている場合、Updateの確認に進んでください

ドライバのバージョンの確認

1. Windowsのスタートメニューを右クリックし、バイスマネージャを選択する
2. Mixed Reality Devicesの直下にあるヘッドセットを右クリックし、プロパティを選択してください
3. ドライバタブをクリックし、ドライバのバージョンWindows Insider flight and driver notesにて指定されているモーションコントローラサポート対応のBuildと一致しているかを確認してください。
4. ヘッドセットのバージョンが指定のものと異なっている場合、ドライバの更新を選択し、ドライバソフトウェアの最新版を自動検索をクリックしてください。

コントローラのペアリング

1. 単三電池を二つコントローラの背面から入れてください。バッテリーカバーは一時的に外したままにしておきます。
2. 内臓のBluetoothの代わりにUSB Bluetoothアダプタを利用する場合は、続行する前にBluetoothのベストプラクティスを確認してください(https://developer.microsoft.com/en-us/windows/mixed-reality/Motion_controllers.html#bluetooth_best_practices)。
3. コントローラのWindowsボタンを押し続けるとコントローラの電源が入るので、ブザーが鳴ったら放してください。
4. LEDが点滅するまでペアリングボタンを押し続けてください。バッテリーカバーを取り付け直してください。
5. 設定->Bluetoothとその他のデバイス->Bluetoothまたはその他のデバイスを追加する->Bluetoothを開き、"Motion controller-Left"または"Motion controller-Right"が現れるまで待ってください。ペアを選択してください。接続されるとコントローラが振動します。
6. 2つ目のコントローラも同様に1-4のステップを実行してください。

コントローラファームウェアの更新

  • PCにImmersive headsetが接続されており、新しいコントローラファームウェアが利用可能な場合、ファームウェアは自動的に次に電源が入ったときにモーションコントローラへプッシュされます。コントローラファームウェアの更新は円状の動きのLEDの発光パターンで示され、1-2分かかります。
  • ファームウェアのアップデートが完了すると、コントローラは再起動、再接続されます。
  • 重要 現在のドライバのバージョンでは、ファームウェアの更新完了後、よりよい体験のためペアリングを解除し再度モーションコントローラをペアリングしてください。

1. 設定->バイス->Bluetooth->Bluetoothとその他のデバイス
2. 以前にペアリングしたコントローラを削除する
f:id:haikage1755:20170903183246p:plain
3. LEDが点滅し始めるまでペアリングボタンを長押しし、ペアリングのキャッシュを削除する。ペアリングモードになったら、各Windowsボタンを長押しして電源を切ってください。(もしくはそのままにしておくと60秒以内にペアリングがタイムアウトします)。これにより、コントローラ上のペアリング情報が削除され、クリーンアップデートに役立ちます。
4. 次に、コントローラを再びペアリングしてください。
5. 両方のコントローラを接続する必要があります。
f:id:haikage1755:20170903195819p:plain

  • コントローラが動作しているかを確認

1. Mixed Reality Portalを立ち上げ、Cliff Houseに入ってください
2. コントローラを動かし、トラッキングが動作するか、ボタンのテスト、テレポーテーションが動作するかを確認してください。

トラブルシューティング

よくある問題

コントローラがずっと再起動で停止している(LEDサイクル後に鳴動)またはコントローラの電源が全く入らない。
1. ファクトリーイメージを取得するためデバイスリカバリを実行します
2. USB経由でデバイスを接続し、ファームウェアの更新が適切に行われるようにします

コントローラファームウェアが正常に更新されたが、コントローラがWindows Mixed Reality homeで正常に動作しない

  • ファームウェアアップデートの後、ペアリングの解除とペアリングを実行する

USB経由でコントローラが動作しない

Bluetoothベストプラクティス

モーションコントローラは、多くの市販の機器に搭載されているものと同じBLuetooth技術を使用しています。モーションコントローラは、最新のPCに搭載されているBluetoothで動作するように設計されています。
もしPCがBluetoothを搭載していない場合、USB Bluetooth 4.0 Low Energy Micro Adapterを購入することを推奨します。
モーションコントローラは、他のBluetootキーボード、マウス、ゲームコントローラと同時に動作することが望ましいですが、キーボード、マウス、ゲームコントローラのモデルに依存します。

USB 2.0ポートに接続されいるUSB Bluetooth Adapterが利用可能か確認していください
 USB Bluetooth Adapterが物理的にHMD USB コネクタ、フラッシュドライバ、ハードドライブ、またはキーボード/マウス用のワイヤレスUSBレシーバから離れてたところに挿し込んでください。

  • もし開いていればBluetooth 設定を閉じてください。バッググラウンドで開いたままにしておくと、Bluetoothプロトコルが余計に多数呼び出されます。
  • Bluetoothヘッドフォンとスピーカの削除、ペアリング解除をし、電源を落としてください。これはWindows Mixed Realityではサポートされていません。Windows Mixed Reality headset のヘッドフォンジャックまたは、内臓のスピーカーによって最高のオーディオ体験が得られます。
  • まだ問題がありますか?Mixed Reality->Input カテゴリからフィードバックハブを提出してください。

もし、コンピュータが既にBluetoothを内蔵しているも、
モーションコントローラにまだ問題があれば、内臓Bluetoothから外付けBluetooth Adapterに置き換えることを検討してください。注意点: デバイスマネージャにて既存の内臓Bluetoothを無効化し、以前に接続したBluetoothバイスを全てペアリング解除/再ペアリングする必要があります。

BluetoothとUSBの切り替え

我々はBluetooth経由でコントローラを使用することを推奨しています。しかしながら、致命的なバグを解決するためにUSBを使う必要がある場合は、以下の手順に従ってUSBからBluetoothまたはBluetoothからUSBへ切り替えてください。

USBからBluetoothへの切り替え

1. USBバッテリーカバーを取り外し、バッテリーを入れてください
2. Bluetooth経由でコントローラをペアリングしてください

BluetoothからUSBへの切り替え

BluetoothとUSBデバイスの両方としてコントローラが列挙されるのを回避するためには、USB経由で接続する前にBluetoothペアリング情報を削除する必要があります。
1.設定->デバイス->Bluetoothとその他のデバイスを開き両方のモーションコントローラを削除します
2. 各コントローラのバッテリーを入れ、Windowosボタンを2秒間押し続けます。
3. LEDが点滅するんでペアリングボタンを押し続けます。
4. ペアリングモードになったら、各コントローラの電源をオフにするためにボタンを長押ししてください。これいよってコントローラからぺリング情報が削除されます。
5. バッテリーを取り出し、USBバッテリーカバーと置き換えます。

バイスリカバリ

もし正常にコントローラが動かず、デバイスの更新ができない場合、工場出荷時の状態に戻すことができます。デバイスを回復するためには、
1. コントローラを抜き、電源をオフにしてください
2. バッテリーカバーを開けてください
3. バッテリーを入れてください
4. ペアリングボタンを長押ししてください
5. ペアリングボタンを長押ししている間、Windows募案を5秒間長押しして電源を入れてください。
6. ボタンを離し、コントローラの電源が入るのをお待ちください。これには最大15秒かかり、デバイスリカバリ中は何も表示されません。ボタンを離した時デバイスの電源がすぐ入る場合は、リカバリボタンのシーケンスが登録されておらず再試行する必要があります。
7. 古いコントローラの関連付けをBluetooth設定から削除します。その後PCと再びコントローラをペアリングしてください。
8. ホストとHMDと接続した後は、デバイスは最新の利用可能なファームウェアに更新します。
9. ファームウェアが更新された後に、正常に動作させるためにペアリングの解除とペアリングを再び行う必要があります。

ライトと提示

f:id:haikage1755:20170903212353p:plain

モーションコントローラのフィードバック/バグの報告

"Mixed Reality"->"Input"カテゴリから(https://developer.microsoft.com/en-us/windows/mixed-reality/give_us_feedback)のFeedBack Hubへ送ってください

Gazing と pointing

Gaze and commitpoint and commitの2つの主要なインタラクションがあります。

  • Gaze and commitでは、gazeを用いてオブジェクトをターゲティングし、選択します
  • Point and commitでは、pointing可能なモーションコントローラでターゲティングし、選択します

モーションコントローラをサポートするアプリは、ユーザーが入力デバイスを選択できるようにgaze-drivenとpointing-drivenインタラクションの両方を有効にする必要があります。

Grip pose vs pointing pose

Windows Mixed Reality は、様々なフォームファクタでモーションコントローラをサポートします。各コントローラの設計は、ユーザーの手の位置と、コントローラをレンダリングする時にアプリケーションがポインティングする時に使用する自然な"前"方向と異なります。
コントローラをよりよく表現するために、各インタラクションソースを利用できます。

  • grip pose: HoloLensによって検出された手のひら、またはモーションコントローラを把持する
  • Immserive headsetでは、このポーズはユーザーの手、または剣や銃といったユーザーの手によって掴まれたオブジェクトを描画するのに最適です。
  • grip position: コントローラを自然に握ったときの掌の中心、左右からグリップの中心位置に合わせる
  • grip orientation's Right axis:完全に5指を開き平らな状態で、掌の法線方向のレイ
  • grip orientation's Forward axis: 部分的に手を閉じたとき、親指ではない指によって形成されたチューブを通した"前方"を指すレイ
  • grip orientation's Up axis: 右と前方方向よって定義される上方向の軸
  • pointer pose:前方をポインティングするコントローラの先端を表します
  • コントローラモデル自体をレンダリングしており、またUIをポインティングするときにraycastするのに最適なです。

Interactions: Low-level spatial input

中核となる手とモーションコントローラのインタラクションは、Select, Menu, Grasp, Touchpad, Thumbstick, そして Homeです。

  • Select はプレスとそれに続くリリースからなるhologramをアクティブにする主要なインタラクションです。モーションコントローラでは、コントローラのトリガーを用いて選択が実行できます。選択を実行する他の方法は、ボイスコマンドで”選択”と言うことです。同じ選択インタラクションをどのアプリ内でも使用することができます。選択は、マウスクリックと同じものであり、一度学習すると全てのアプリに適用されるユニバーサルアクションです。
  • Menu はオブジェクトに作用する2番目インタラクションで、コンテキストメニューをプルアップする、またはほかの2次的なアクションを使う等のために使用されます。モーションコントローラでは、コントローラのメニューボタンで実行することができます。
  • Grasp は自身の手でオブジェクトを直接的に操作する方法です。モーションコントローラでは、しっかりと握りしめることで把持行動出来ます。モーションコントローラは、Grabボタン、Palmトリガ、または他のセンサを用いて把持を検出することができます。
  • Touchpadを使用すると、モーションコントローラのタッチパッドの表面に沿って2次元でアクションを調整し、タッチパッドをクリックすることでアクションを実行ることができます。タッチパッドは、押された状態、タッチされた状態、及び正規化されたXY座標を提供します。XとYの範囲は円形タッチパッドの範囲で-1から1で、中心は(0,0)です。Xでは左が-1で右が1です。Yでは下が-1で上が1です。
  • Thumbstickは、モーションコントローラの親指スティックを円形範囲内で動かすことで、2次元でアクションを調整し、クリックダウンでアクションを実行します。親指スティックはまた、押された状態と正規化されたXY座標を提供します。XとYの範囲は円形タッチパッドの範囲で-1から1で、中心は(0,0)です。Xでは左が-1で右が1です。Yでは下が-1で上が1です。
  • Homeはスタートメニューに戻るための特別なシステムアクションです。これはキーボードおWindowsキー、またはXboxコントローラのXboxボタンを押すのと同じです。モーションコントローラのWindowsボタンを押すとホームに戻ることができます。また「Hey Cortana, Go Home」ということで、いつでもスタートに戻ることができます。システムによって処理されるため、アプリケーションは、ホームアクションに反応できません。

Composite gestures: High-level spatial input

ハンドジェスチャとモーションコントローラの両方を追跡して共通の高レベルコンポジットジェスチャを検出することができます。これにより、ユーザーが手やコントローラを使用して終了するかどうかにかかわらず、アプリが高水準のタップ、ホールド、操作およびナビゲーションジェスチャーを検出できるようになります。

[研究者になりたかった青二才の戯言日記]は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。」