本文へスキップ
バージョン: 2.2.0

Inverse3 およびVerseGripコントローラー

Inverse3 と VerseGrip コントローラは、それぞれの物理デバイスと Unity ゲームオブジェクトをシームレスに統合するように設計されており、Device Mapper によって促進されます。 高周波のセンサーデータを活用することで、これらのコンポーネントは、仮想環境内での正確で応答性の高いコントロールを可能にします。 これらの機能は、ロジックと機能の両方において調和しており、統一されたユーザー体験を保証します。

これらのコントローラは、Haply Inverse Unity Packageの基礎となるもので、Haply のハードウェアの高度な機能を活用することで、開発者が没入感のあるインタラクティブなVRアプリケーションを作成できるようにします。 これらのコントローラは、デバイスのローカル座標とゲーム世界の空間パラメータ間の変換を巧みに管理し、本格的で魅力的なインタラクションを実現します。

Inverse3 コントローラー

Inverse3 コントローラコンポーネントは、Inverse3 デバイスと対応するゲームオブジェクトを関連付けるために非常に重要です。 高周波のセンサーデータを使用して、仮想空間内でのデバイスの物理的な動きを正確に反映します。主な機能は以下のとおり:

Inverse3 主な機能とAPI

  • デバイス状態変更イベントInverse3 コントローラーの心臓部であるこのイベントは、各ハプティックフレームでトリガーされ、カーソルの位置と速度をリアルタイムで更新します。 デバイスの状態の継続的な追跡を必要とするアプリケーションや、リアルタイムの制御コマンドの実装に不可欠です。

  • 位置と速度の取得:次のような物件を提供している。 Position, Velocity, LocalPositionそして LocalVelocity デバイスの現在の状態にアクセスするためのもので、物理的な動きを仮想空間に正確にマッピングするために極めて重要だ。

  • 力と位置の制御:以下のような方法を提供する。 CursorSetForce そして CursorSetPosition デバイスを直接操作できるため、開発者は力を加えたり、位置を設定したりすることができ、バーチャルインタラクションを強化することができる。

Inverse3 インスペクタービュー

inverse3-コントローラー・エディター

  • 装置:特定のデバイスを選択します。をクリックします。 <refresh device list> エディターモードでクライアントを接続し、すべての 装置 ドロップダウン をご覧ください。 コネクション・モニター をご覧ください。
  • ハンドネス:ハンドネス設定に基づいてデバイスをフィルタリングします。
  • カーソル:デバイスの位置更新に同期して動くInverse3Cursorオブジェクトにリンクします。
  • Body:デバイスの物理的な体の向きを表すInverse3Bodyに接続します。
  • 座標変換:デバイスのカーソル位置と体の向きをゲーム世界に変換する方法を定義し、正確でカスタマイズ可能なマッピングを実現します。
  • カーソルデータ:カーソルの位置を表示します。
  • デバイスデータ:デバイスのリアルタイムの入出力データを表示します。
  • イベント:Unityのイベントがメインスレッドでトリガーされ、シーンのインタラクションやUIの更新を促進する。
    • Ready(準備完了):デバイスが使用可能な状態にあることを示す。
    • ControlModeChanged:デバイスの制御モード(力制御や位置制御など)の変更を示す。
    • PowerSupplyStatusChanged:デバイスの電源状態の変化について通知する。

inverse3-コントローラランタイム

Inverse3 ギズモ

デバイスの位置とカーソルの最大到達距離を視覚的に表示し、利き手によって色分けされます。

  • 青は左利き用機器。
  • 赤は右利き用。
  • ハンドが未割り当てのデバイスについては、実行時に決定されるまで両方の色が表示される。

inverse3-左右

ヴァースグリップ・コントローラー

Inverse3 Controllerと同様に、VerseGrip Controllerは、リンクされたゲームオブジェクトにVerseGripデバイスを割り当てます。 このコンポーネントは、VerseGripのユニークな入力機能を利用するために不可欠です。

VerseGripの主な機能とAPI

  • デバイス状態変更イベント:デバイスの向きやボタンの状態の変化を通知し、ユーザー入力やデバイスの向きに関するフィードバックをタイムリーに提供することで、インタラクティブなアプリケーションをサポートします。

  • ボタンの相互作用:ボタンのインタラクションを検出する方法GetButton, GetButtonDown, GetButtonUp)、ハプティックスレッドへの入力メカニズムを可能にする。

  • 添付ファイルの状態:他の機器との接続状態を監視し、次のようなシグナルを送る。 Attached そして Detached デバイスの物理的なコンフィギュレーションに依存するアプリケーションに便利です。

ヴァースグリップ・インスペクター・ビュー

バーグリップ・コントローラー・エディター

  • 装置:特定のデバイスを選択します。をクリックします。 <refresh device list> クライアントをエディター・モードで起動し、以下のすべての機能をリフレッシュします。 装置 ドロップダウン。
  • カーソルVerseGripCursorオブジェクトへのリンクで、デバイスの向きの更新に従って回転します。
  • 座標変換:デバイスの向きをゲームの世界に変換する方法を定義し、正確でカスタマイズ可能なマッピングを実現します。
  • カーソルデータ:カーソルの回転を表示します。
  • デバイスデータ:デバイスのローカル回転、ボタンの状態、アタッチメントの状態を表示します。
  • イベント:シーンやUIインタラクションをサポートするために、メインスレッドでUnityイベントを開始します。
    • Ready(準備完了):デバイスが使用可能な状態にあることを示す。
    • ボタンダウン:ボタンが押されるとトリガー。
    • ボタンアップ:ボタンを離すとトリガー。
    • アタッチされている:デバイスがInverse3 に接続されていることを示す。
    • 切り離された:デタッチド:デバイスがデタッチされていることを示す。Inverse3

バースグリップコントローラーランタイム