DeviceMapper コンポーネント
Haply Inverse UnityプラグインのDeviceMapperコンポーネントは、Inverse3 やVerseGripなどのHaply デバイスを検出、マッピング、接続し、シーン内のGameObjectやDeviceControllersとともに管理できるように設計されています。 このコンポーネントは、これらのデバイスとやり取りするための統合インターフェースを提供し、実行時の状況に応じて動的な制御や設定を可能にします。
概要
DeviceMapperの主な機能は、接続されたデバイスのリストを表示し、それらをシーン内のDevice Controllersにマッピングすることです。

基本設定
DeviceMapperコンポーネントには、次のようなデフォルト設定が含まれています:
- デバイスのリストを自動取得:このオプションを有効にすると、DeviceMapperは起動時にHTTPリクエストを使用して、接続されているデバイスのリストを自動的に取得します。
- 自動割り当て:有効にすると、DeviceMapperが接続されたデバイスをシーン内のデバイスコントローラーに自動的にマッピングします。
- 自動接続:有効にすると、DeviceMapperがデバイスとのWebSocket接続を自動的に確立します。
詳細設定

Show Advanced Settings ボタンをクリックすると デバイスマッパー コンポーネントの追加設定を確認できます:
- デバイスリストURI: 接続済みのデバイスの一覧を取得するためのURIです。デフォルト値は
http://localhost:10000/3.1/devicesです。 - フェッチ再試行遅延: 最初のリクエストが失敗した場合、デバイス一覧を再度取得するまで待機する時間(秒単位)です。デフォルト値は
5です。 - サーバーURI: デバイスサーバーに接続するためのURIです。デフォルト値は
ws://localhost:10001です。
統計
Statistics フォールドアウトを広げると デバイスマッパー接続速度やJSONペイロードの内容に関する統計情報を提供します。これにより、開発者はデバイスの監視や管理が可能になり、開発中のトラブルシューティングもより容易に行えるようになります。
「Ready」イベント
DeviceMapper コンポーネントは、接続されたすべてのデバイスがマッピングされ、接続されると Ready イベントを発生させます。
このイベントは GetInverse3Controller または GetVerseGripControllerこのようなデバイスのゲッターメソッドを安全に使用できるタイミングを示しており、その後の操作のためにシーンのデバイスコントローラーを取得することができます。
デバイス・コントローラのリスト
Unityエディタで DeviceMapperは、接続されたデバイスに関連付けられたシーンの「デバイスコントローラー」リストを動的に提供します。
このリストには、デバイスの種類、ID、接続状態などの詳細情報が含まれます。

上級者向け機能
スクリプト内でDeviceMapperコンポーネントを使用して、デバイスを手動で一覧表示、マッピング、接続する方法については、手順を詳しく解説した「デバイスマッピング」チュートリアルを参照してください。