Inverse3 VerseGrip コントローラーと
Inverse3 VerseGrip コントローラーは入念に設計されており、デバイスマッパーを活用することで、それぞれの物理デバイスをUnity のゲームオブジェクトとシームレスに統合することができます。 これらのコンポーネントは、高頻度なセンサーデータを活用し、仮想環境において正確かつ高感度の操作を実現します。 両者の機能は、ロジックと性能の両面で高度に連携しており、統一感のあるユーザー体験を保証します。
これらのコントローラーは、「Haply Inverse Unity Package」の基盤であり、Haply ハードウェアの先進的な機能を最大限に活用することで、開発者が没入感あふれるインタラクティブなVRアプリケーションを構築できるようにします。 これらは、デバイスのローカル座標とゲームワールド空間のパラメータ間の変換を効率的に処理し、リアルで魅力的なインタラクション体験を保証します。
Inverse3 コントローラ
Inverse3 コントローラコンポーネントは、Inverse3 デバイスを対応するゲームオブジェクトに関連付ける上で極めて重要です。 このコンポーネントは、高頻度のセンサーデータを活用し、デバイスの物理的な動きを仮想空間内で正確に反映します。主な機能は以下の通りです:
Inverse3 主な機能と API
-
デバイス状態変化イベント:Inverse3 コントローラの核となるこのイベントは、各触覚フレームごとにトリガーされ、カーソルの位置と速度の更新情報をリアルタイムで提供します。 デバイスの状態を継続的に追跡したり、リアルタイムの制御コマンドを実現したりする必要があるアプリケーションにとって、このイベントは極めて重要です。
-
位置と速度の取得:提供
CursorPosition、CursorVelocity、CursorLocalPosition和CursorLocalVelocityこれらの属性は、デバイスの現在の状態を取得するために使用され、物理的な動きを仮想空間に正確にマッピングするために極めて重要です。 -
力と位置の制御:提供
SetCursorForce和SetCursorPositionなどの手法を用いて、デバイスを直接操作し、開発者が力を加えたり位置を設定したりできるようにすることで、仮想的なインタラクションを強化します。
Inverse3 パネルの確認

- 設備:特定のデバイスを選択します。クリックしてください
<refresh device list>エディタモードでデバイスマッパーを使用してデバイスを取得し、すべての 設備 ドロップダウンメニュー。 - 左右:デバイスの左右設定に基づいてデバイスを絞り込みます。
- カーソル:Inverse3Cursorオブジェクトにリンクされており、デバイスの位置に合わせて同期して移動します。
- 本体:デバイスの物理的な本体の向きを表すInverse3Bodyに接続されています。
- 座標変換:デバイスのカーソル位置と本体の向きをゲームワールドにどのように変換するかを定義し、正確かつカスタマイズ可能なマッピングを確保します。
- カーソルデータ:ゲーム世界におけるカーソルの位置を表示します。
- デバイスデータ:デバイスのリアルタイムの入力および出力データを表示します。
- 事件:メインスレッドで発生する Unity のイベントで、シーンとのインタラクションや UI の更新を促進するために使用されます。
- Ready:デバイスが準備完了であり、使用可能であることを示します。
- ControlModeChanged:表示装置の制御モード(例えば、力制御や位置制御など)の変更を通知します。
- PowerSupplyStatusChanged:デバイスの電源状態の変化を通知します。

Inverse3 ギズモ
デバイスの位置とカーソルの最大到達距離を視覚的に表示し、左右の手に応じて色分けします。
- 青色は左側のデバイスを示しています。
- 赤色は右側の機器を示しています。
- 左右の割り当て先が未決定のデバイスについては、実行時に決定されるまでは、2つの色が同時に表示されます。

VerseGrip コントローラー
Inverse3 コントローラーと同様に、VerseGripコントローラーは、関連付けられたゲームオブジェクトにVerseGripデバイスを割り当てます。 このコンポーネントは、VerseGrip独自の入力機能を使用するために不可欠です。
VerseGrip の主な機能と API
-
デバイスの状態変化イベント:デバイスの向きやボタンの状態の変化を通知し、ユーザー入力やデバイスの向きをタイムリーに反映することで、インタラクティブなアプリケーションをサポートします。
-
ボタン操作:キー操作を検出するためのメソッドを提供します(
GetButton、GetButtonDown、GetButtonUp),これにより、入力メカニズムが触覚スレッドに取り込まれる。 -
接続状態:監視機器とその他の機器との接続状態を、以下の方法で確認する
Attached和Detachedこのイベントは、デバイスの物理的な構成に依存するアプリケーションに対してシグナルを送信します。
VerseGrip プレビューパネル

- 設備:特定のデバイスを選択します。クリックしてください
<refresh device list>エディタモードでクライアントを有効にし、すべてを更新します 設備 ドロップダウンメニュー。 - カーソル:VerseGripCursorオブジェクトへのリンク。このオブジェクトは、デバイスの向きが更新されるたびに回転します。
- 座標変換:デバイスの向きをゲームの世界座標系にどのように変換するかを定義し、正確かつカスタマイズ可能なマッピングを確保します。
- カーソルデータ:ゲーム世界におけるカーソルの回転を表示します。
- デバイスデータ:デバイスのローカル回転、ボタン状態、および接続状態を表示します。
- 事件:シーンや UI の操作に対応するため、メインスレッド上で Unity イベントをトリガーします。
- Ready:デバイスが準備完了であり、使用可能であることを示します。
- ボタンダウン:ボタンが押されたときにトリガーされる。
- Button Up:ボタンが離されたときにトリガーされる。
- 添付:デバイスがInverse3に接続されていることを示しています。
- Detached:デバイスがInverse3 から切り離されたことを示します
