メインコンテンツへスキップ

←目次へ戻る

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 将 device として ConnectionStateChanged イベントの最初の引数の渡し方
    • 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 イベントは、電源状態が変化した際にトリガーされます。
    • Orientation Inverse3 デバイスの現在の向きを取得します。
    • 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) 指定された利き手(handedness)に一致するInverse3 デバイス に関連付けられたVerseGripデバイスを取得します。
      • GetInverse3(handedness) 指定された利き手(handedness)に一致する最初のInverse3 デバイスを取得します。
      • GetInverse3(verseGrip) 指定されたVerseGripデバイスに関連付けられているInverse3 デバイスを取得します。
      • GetVerseGrip(inverse3) Inverse3 デバイスに関連付けられているVerseGripデバイスを取得および指定します。
  • VerseGripCursor および Inverse3Body コンポーネントに、OrientationSettings が追加されました。
  • VerseGrip.Orientation 代替 VerseGrip.LocalRotation。
  • Inverse3 のキャッシュに対して明示的な インバース3データ タイプ:
    • キャッシュ状態の属性:CursorPosition、JointsAngles、JointsAngularVelocity、Orientation,
    • GravityCompensation、StatusPowerSupply、ConfigTorqueScaling
    • キャッシュ制御の出力 属性:ControlMode、CursorForceOutput、CursorPositionOutput、JointsTorqueOutput, JointsAnglesOutput。
    • coordinateConverter 指定された座標系に基づいて、受信および送信されるデータを変換するために使用されます。
    • キャッシュの購読クライアントを設定して、自動的に更新されるようにします。
    • キャッシュが更新された際にイベントが発生します。
  • 明示的な Joint3 構造体で、3つの float 型のメンバを含む j0、j1 和 j2(用途: 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。

バグの修正​

  • Inverse3.DeviceStateChanged 同様に呼び出しの際にも JointsSetTorque 和 JointsSetAngles 時にトリガーされる。
  • 接続が切断された後、デバイスは自動的に再接続されます。
  • 終了時にクライアントのポーリングスレッドをクリーンアップするようにする。
  • いくつかのバグを修正し、安定性を向上させました。
  • シーンのアンロード/ロード後のデバイスマッピングに関する問題を修正

非推奨​

  • 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) 置き換える

←目次へ戻る