本文へスキップ

←目次ページに戻る

2.1.1 変更履歴

依存関係​

  • haply- inverse-c.dllをバージョン 2.1.1 に更新(要件:Inverse SDK >= 2.1)
  • Haply.Inverse.dllをバージョン 2.1.1 に更新
  • com.unity.xr.core-utilsバージョン 2.3.0 を追加
警告

Unity2022.1.0f1 以前のバージョンとの互換性が失われました。 互換性の問題が発生した場合は、最新バージョンにアップデートしてください。

互換性を損なう変更点​

  • Inverse3 およびVerseGripは ConnectionStateChanged イベントの最初の引数として deviceを伝えます。
    • ConnectionStateChanged(state, prevState) > ConnectionStateChanged(device, state, prevState)
    • ConnectionStateChangedAsync(state, prevState) > ConnectionStateChangedAsync(device, state, prevState)
  • DeviceMapperの State プロパティが読み取り専用に変更されました。

新機能​

  • Inverse3Bodyコンポーネントは、Inverse3 デバイスの本体の向きを、指定されたGameObjectに適用します。
  • Inverse3:
    • デバイスデータ(インスペクタ)は ControlModeそして、デバイスに送信された最後の Force, Position または Anglesを表示します。
    • JointsAngles および JointsAngularVelocity.
    • Poweredは、デバイスの現在の電源供給状態を示します。
    • PowerSupplyStatusChanged Unityのイベントは、電源の状態が変更されるたびに発生します。
    • OrientationInverse3 デバイスの現在の方位を取得します。
    • OrientationChangedAsync このイベントは、本体の向きが変わるたびに発生します。
    • RequestOrientation()は、本体の方向を手動で指定します。
    • ControlModeは、現在の制御モード(CursorForce、CursorPosition、JointsTorques、JointsAngles)を取得します。
    • ControlModeChanged Unityのイベントは、制御モードが変更されるたびに発生します。
    • ForceOutput, PositionOutput, JointsTorqueOutput および JointsAnglesOutputは現在の出力値を取得します。
    • Release()は、null力を伝達することでデバイスの制御をリセットします(TryResetForce()(に置き換える)。
    • CoordinateConverterは、プリセットファイルまたは手動で入力した値を用いて、座標変換の設定を定義します。
    • ErrorEventは、マッピングされたデバイスに関連する ClientConnection エラーイベントが追加された際に(メインスレッドで)発生します。
  • ヴァースグリップ:
    • CoordinateConverterは、プリセットファイルまたは手動で入力した値を用いて、座標変換の設定を定義します。
    • ErrorEventは、マッピングされたデバイスに関連する ClientConnection エラーイベントが追加された際に(メインスレッドで)発生します。
  • デバイスマッパー:
    • 実行時に接続されたデバイスをマッピングします。
    • 各Inverse3 デバイスのInverse3 電源および本体の向きを取得します。
    • DeviceInfoPollingMode モードは Manual, Once(デフォルト値)または Continuousです。
    • devicesInfoPollDelayの安全下限値は、本体の方向を要求する場合 1sec, そうでない場合は 0.5secです。
    • コンポーネントが有効になっている場合にのみ初期化されます。
    • フィルタリングされたデバイスのゲッター:
      • GetInverse3Devices(handedness)は、指定されたハンドネス(handedness)でフィルタリングされたInverse3 デバイスを取得します。
      • GetVerseGripDevices(handedness)指定された手の向きと一致するInverse3 デバイスに接続された VerseGripデバイスを取得します。
      • GetInverse3(handedness)は、指定された手の向きと一致する最初のInverse3 デバイスを取得します。
      • GetInverse3(verseGrip)は、指定されたVerseGripデバイスに接続されているInverse3 デバイスを取得します。
      • GetVerseGrip(inverse3)は、指定されたInverse3 デバイスに接続されているVerseGripデバイスを取得します。
  • 「OrientationSettings」が「VerseGripCursor」および「Inverse3Body」コンポーネントに追加されました。
  • VerseGrip.Orientationこれ VerseGrip.LocalRotationに置き換えます。
  • Inverse3 キャッシュのための明示的な インバース3データ タイプ:
    • キャッシュされた状態のプロパティ: CursorPosition, JointsAngles, JointsAngularVelocity, Orientation,
    • GravityCompensation, StatusPowerSupply, ConfigTorqueScaling
    • キャッシュされた制御出力のプロパティ: ControlMode, CursorForceOutput, CursorPositionOutput, JointsTorqueOutput, JointsAnglesOutput.
    • coordinateConverterは、指定された座標系で受信および送信されたデータを変換するために使用されます。
    • キャッシュはクライアントをサブスクライブすることで自動的に更新されます。
    • キャッシュが更新されると、イベントが発生します。
  • 3つのfloat型メンバー j0, j1, j2を持つ明示的な Joint3 構造体(JointsSetTorque および JointsSetAngles(で使用されています)。
  • VerseGrip キャッシュのための明示的な ヴァースグリップデータ タイプ:
    • キャッシュされた状態のプロパティ: Orientation, IsAttached, ButtonCount.
    • キャッシュされたボタンの状態。
    • キャッシュはクライアントをサブスクライブすることで自動的に更新されます。
    • coordinateConverterは、受信したデータを指定された座標系に変換するために使用されます。
    • キャッシュが更新されると、イベントが発生します。
  • 座標変換(UnityConvert (代替)は、デバイス座標系を Unity座標系に変換する方法を個別に定義します:
    • Inverse3CoordinateConverterは、カーソルの座標と本体の向きを変換します。
    • VerseGripCoordinateConverterは、VerseGripの方向を切り替えます。
    • Vector3Settings および QuaternionSettings 構造体は、座標系の変換設定を保存するために使用されます。
    • 「コンポーネント」または「アセット」メニューから、Inverse3 およびVerseGrip用のデフォルト座標変換プリセットを作成します。
      • Inverse3 (腕を前に伸ばしたポーズ)コンバーター:腕がユーザーの方を向いており、LEDアイコンが側面に配置されている デバイス用の設定です。
      • Inverse3 (アイコン「前を向いたポーズ」)コンバーター:LEDアイコンがユーザーの方を向いており、腕が体の横にある デバイス用の設定です。
      • VerseGrip(デフォルト)コンバーター:画面が正面を向いており、ユーザー入力ボタンが上部にあるデバイス向けです。
  • デバイスが開くと クライアントコネクションこれ FirmwareVersion, GravityCompensation, TorqueScalingを取得します。
  • コネクションモニターは GravityCompensation, TorqueScaling, PowerSupplyを表示します。

バグの修正​

  • JointsSetTorque および JointsSetAngles 使用時にも Inverse3.DeviceStateChangedトリガーされる現象の修正
  • 切断後のデバイスの自動再接続
  • ビルド終了時のクライアントポーリングスレッドのクリーンアップ
  • バグの修正および安定性の向上。
  • シーンのアンロード/ロード後のデバイスマッピングの修正

支援の中止​

  • ClientConnection.Configuration.HapticFrequencyHzは HapticPollFrequencyに置き換えられます
  • ClientConnection.Configuration.PollDelayNsは HapticPollDelayNsに置き換えられます
  • DeviceBehaviour.ConnectionStateChangedAsyncは、次回のメジャーリリースで削除される予定です
  • Inverse3.Positionは Inverse3.CursorPositionに置き換えられます
  • Inverse3.LocalPositionは Inverse3.CursorLocalPositionに置き換えられます
  • Inverse3.TryResetForce()は Release()に置き換えられます
  • VerseGrip.LocalRotationは VerseGrip.Orientationに置き換えられます
  • JointsSetTorque(Vector3)は JointsSetTorques(Joint3)に置き換えられます
  • JointsSetTorque(float, float, float)は JointsSetTorques(float, float, float)に置き換えられます
  • JointsSetAngles(Vector3)は JointsSetAngles(Joint3)に置き換えられます

←目次ページに戻る