3.1.0 変更履歴
依存関係
- Haply Inverse SDK バージョン 3.1.0:
Inverse SDK 3.x.x通信プロトコルに対応できるよう更新されました。Inverse SDK 3.1.0のペイロード形式に合わせて、JSON のシリアライズ機能を強化しました。
破壊的な変更
-
ライブラリの削除とリファクタリング:
Haply.Inverse2.x.x ライブラリを削除しました。- 一貫性を高めるため、名前空間のリファクタリングを行いました:
Haply.Inverse.Unity→Haply.Inverse。Haply.Inverse.Unity.Internal→Haply.Inverse。
-
コンポーネント名の更新:
DeviceBehaviour→DeviceControllerBase。CursorBehaviour→CursorBase。- エディタクラスの更新:
DeviceBehaviourEditor→DeviceControllerBaseEditor。
-
コントローラーのリファクタリング:
Inverse3→Inverse3Controller。VerseGrip→VerseGripController。Inverse3Controllerプロパティ名とメソッド名の更新:Joint3→Angle3。JointsAngles→AngularPosition。JointsAngularVelocity→AngularVelocity。JointsAnglesOutput→AngularPositionOutput。JointsSetAngles→SetAngularPosition。JointsSetTorques→SetAngularTorque。
-
座標変換システム:
- デフォルトのデバイスコントローラーの回転(90°および-90°)を補正するように、
Icon Forward Poseプリセットを更新しました。 - 変換ロジックを 軸の入れ替え → スケール → オフセット の順序に更新し、Unity の組み込みロジックに合わせて調整しました。
以前は、「軸の入れ替え → 平行移動 → オフセット(スケールの適用)」という順序でしたが、直感的ではなく、最適化された組み込みメソッドとの互換性も低かったのです。
Vector3SettingsをPositionConverterに、QuaternionSettingsをRotationConverterに名称を変更しました。
- デフォルトのデバイスコントローラーの回転(90°および-90°)を補正するように、
-
イベントシステムの変更:
Inverse3ControllerのDeviceStateChangedイベントは、Inverse3EventArgsを伴うEventHandlerを使用するようになりました。VerseGripControllerのDeviceStateChangedイベントは、VerseGripEventArgsを伴うEventHandlerを使用するようになりました。
提供されていない・削除された機能
-
延期された機能:
- ConnectionMonitorWindow、ClientConfiguration、PerformanceDataは一時的に削除されました。これらの機能は、今後のアップデートで復元される予定です。
-
APIの変更:
Inverse3Controller.RequestOrientation()メソッドを削除しました。OrientationChangedAsyncイベントを削除しました。
新機能
-
ワイヤレスデバイスの対応:
- 新しいワイヤレス「VerseGrip Stylus」デバイスを完全にサポートしました。
-
プロトコルのアップグレード:
ClientConnectionがInverse SDK 3.x.x通信プロトコルに対応できるようアップグレードされました。
-
デバイスマッピング:
- ランタイムのデバイス設定に、自動マッピングと自動接続を有効/無効にするオプションを追加しました。
- デバイス管理を改善するための新しいメソッドを追加しました:
- デバイス一覧を取得する
FetchDeviceListOnceとStartFetchingDeviceListWithRetry。 - 接続済みのデバイスの一覧を取得する
GetInverse3DevicesとGetVerseGripDevices。 - 利き手やデバイスの種類などで絞り込んだシーンコントローラーを取得する
GetInverse3ControllersとGetVerseGripControllers。 - デバイスを特定のコントローラーに割り当てる
MapDevices。 - デバイスのマッピングを解除する
UnmapDevices。 - コントローラー間でデバイスを切り替える
SwapInverse3とSwapVerseGrip。
- デバイス一覧を取得する
-
プロービング機能の強化:
Inverse3ControllerにProbeCursorPositionメソッドを追加しました。制御コマンドを送信せずに、カーソル位置を取得できるようになりました。Inverse3ControllerにProbeAngularPositionメソッドを追加しました。制御コマンドを送信せずに角度位置を取得できるようになりました。
-
インバース3ギズモス
- ギズモが、ランタイムモードとエディタモードの両方で、座標変換、利き手、シーンの変換を正しく反映するようになりました。
- ワークスペースの中央に、デバイスの3軸ハンドルを表示するようにしました(実際のデバイスの軸を反映しています)。
修正と改善
- パフォーマンス:
- パフォーマンスと安定性を向上させるため、座標変換機能を最適化しました。
- カーソルの半径の計算:
CursorBaseすべてのプリミティブメッシュについて、スケーリング後の半径を計算するようになりました。
- 安全性チェック:
- 制御モード間の安全でない切り替えを防止しました。