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

基本設定
DeviceMapper コンポーネントには、次の基本設定があります:
- Auto Fetch Devices List: 有効にすると、DeviceMapper は起動時に http リクエストを使用して、接続されているデバイスの一覧を自動的に取得します。
- Auto Assign: 有効にすると、DeviceMapper は接続されているデバイスを、シーンのデバイスコントローラーに自動的にマッピングします。
- Auto Connect: 有効にすると、DeviceMapper はデバイスへの websocket 接続を自動的に開きます。
詳細設定

Show Advanced Settings ボタンをクリックすると、DeviceMapper コンポーネントの追加設定にアクセスできます:
- Device List URI: 接続されているデバイスの一覧を取得するための URI です。デフォルト値は
http://localhost:10000/3.1/devicesです。 - Fetch Retry Delay: 最初のリクエストが失敗した場合に、デバイス一覧の取得を再試行するまでの待機時間(秒)です。デフォルト値は
5です。 - Server URI: デバイスサーバーに接続するための URI です。デフォルト値は
ws://localhost:10001です。
統計情報
Statistics フォールドアウトを展開すると、DeviceMapper は接続レートと JSON のペイロード内容に関する統計情報を提供します。これにより、開発者はデバイスの監視と管理がしやすくなり、開発中のトラブルシューティングにも役立ちます。
Ready イベント
DeviceMapper コンポーネントは、接続されているすべてのデバイスのマッピングと接続が完了すると、Ready イベントを発行します。
このイベントは、GetInverse3Controller や GetVerseGripController などのデバイス取得メソッドを安全に使い始められることを示します。これらのメソッドを使って、シーン内のデバイスコントローラーを取得し、以降の操作に利用できます。
デバイスコントローラー一覧
Unity Editor では、DeviceMapper が、接続されているデバイスに関連付けられたシーンのデバイスコントローラーの動的な一覧を提供します。
この一覧には、デバイスの種類、ID、接続状態などの詳細が含まれます。

高度な使い方
スクリプトで DeviceMapper コンポーネントを使用し、デバイスの一覧表示、マッピング、接続を手動で行う手順については、デバイスマッピング のチュートリアルを参照してください。