←目次へ戻る
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デバイスが現在電源が入っているかどうかを表示します。PowerSupplyStatusChangedUnity イベントは、電源状態が変化した際にトリガーされます。OrientationInverse3 デバイスの現在の向きを取得します。OrientationChangedAsyncこのイベントは、体の向きが変わったときに発生します。RequestOrientation(),体の向きを手動で指定するために使用します。ControlMode現在の制御モード(CursorForce、CursorPosition、JointsTorques、JointsAngles)を取得します。ControlModeChangedUnity イベントは、制御モードが変更された際にトリガーされます。ForceOutput、PositionOutput、JointsTorqueOutput和JointsAnglesOutput現在の出力値を取得します。Release()null の力値を送信して、デバイスの制御をリセットします(代替手段としてTryResetForce())。CoordinateConverter,プリセットファイルまたは直接値の指定を通じて、座標変換の設定を定義するために使用されます。ErrorEventメインスレッド上でトリガーされます。つまり、マッピング済みのデバイスに関連付けられた ClientConnection のエラーイベントが発生したときです。
- デバイスデータ(インスペクタ)の表示
- ヴァースグリップ:
CoordinateConverter,プリセットファイルまたは直接値の指定を通じて、座標変換の設定を定義するために使用されます。ErrorEventメインスレッド上でトリガーされます。つまり、マッピング済みのデバイスに関連付けられた ClientConnection のエラーイベントが発生したときです。
- デバイスマッパー:
- 実行時に接続済みのデバイスをマッピングします。
- 各「Inverse3 」デバイスの「Inverse3 」 の電源状態と向きを取得します。
DeviceInfoPollingModeそのパターンには以下が含まれますManual、Once(デフォルト)またはContinuousdevicesInfoPollDelayの安全最小値:体の向きを指定する場合、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)置き換える
←目次へ戻る