← 戻る:インデックスページ
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 に追加しました
警告
Unity の 2022.1.0f1 より前 のバージョンとの互換性を損ないました。 互換性の問題が発生した場合は、より新しいバージョンに更新してください。
破壊的変更
- Inverse3 および VerseGrip は、
ConnectionStateChangedイベントの第1引数としてdeviceを渡すようになりましたConnectionStateChanged(state, prevState)>ConnectionStateChanged(device, state, prevState)ConnectionStateChangedAsync(state, prevState)>ConnectionStateChangedAsync(device, state, prevState)
- DeviceMapper の
Stateプロパティは読み取り専用に変更されました
新機能
- Inverse3Body コンポーネントは、Inverse3 デバイスのボディの向きを、指定された GameObject に適用します。
- Inverse3:
- Device Data(インスペクター)には、デバイスに送信された
ControlModeと最後のForce、Position、またはAnglesが表示されます。 JointsAnglesおよびJointsAngularVelocity。Poweredは、デバイスが現在電源オンになっているかどうかを示します。PowerSupplyStatusChangedUnity イベントは、電源供給の状態が変化するたびに発生します。Orientationは、Inverse3 デバイスの現在の向きを取得します。OrientationChangedAsyncイベントは、ボディの向きが変化するたびに発生します。RequestOrientation()は、ボディの向きを手動でリクエストします。ControlModeは、現在の制御モード(CursorForce、CursorPosition、JointsTorques、JointsAngles)を取得します。ControlModeChangedUnity イベントは、制御モードが変化するたびに発生します。ForceOutput、PositionOutput、JointsTorqueOutput、JointsAnglesOutputは、現在の出力を取得します。Release()は、null の力を送信することでデバイス制御をリセットします(TryResetForce()の代わり)。CoordinateConverterは、プリセットファイルまたは直接値で座標変換設定を定義します。ErrorEventは、マッピング済みデバイスで ClientConnection のエラーイベントが追加されたとき(メインスレッド上で)発火します
- Device Data(インスペクター)には、デバイスに送信された
- VerseGrip:
CoordinateConverterは、プリセットファイルまたは直接値で座標変換設定を定義します。ErrorEventは、マッピング済みデバイスで ClientConnection のエラーイベントが追加されたとき(メインスレッド上で)発火します
- DeviceMapper:
- 実行時に接続されたデバイスをマッピングします。
- 各 Inverse3 デバイスについて、Inverse3 の Power Supply と Body Orientation を取得します。
DeviceInfoPollingModeのモードはManual、Once(デフォルト)、またはContinuousですdevicesInfoPollDelayは、ボディの向きが要求されている場合は安全な最小値1secに、それ以外の場合は0.5secに設定されます。- コンポーネントが有効になったときにのみ初期化されます。
- フィルター済みデバイスのゲッター:
GetInverse3Devices(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 キャッシュ用の明示的な Inverse3Data 型:
- キャッシュされた状態プロパティ:
CursorPosition、JointsAngles、JointsAngularVelocity、Orientation、GravityCompensation、StatusPowerSupply、ConfigTorqueScaling - キャッシュされた制御出力
プロパティ:
ControlMode、CursorForceOutput、CursorPositionOutput、JointsTorqueOutput、JointsAnglesOutput。 coordinateConverterは、指定された座標系で受信データと送信データを変換するために使用されます。- キャッシュはクライアントを購読し、自動的に更新されます。
- キャッシュ更新時にイベントを発火します。
- キャッシュされた状態プロパティ:
- 3 つの float メンバー
j0、j1、j2を持つ明示的なJoint3構造体(JointsSetTorqueおよびJointsSetAnglesで使用)。 - VerseGrip キャッシュ用の明示的な VerseGripData 型:
- キャッシュされた状態プロパティ:
Orientation、IsAttached、ButtonCount。 - キャッシュされたボタンの状態。
- キャッシュはクライアントを購読し、自動的に更新されます。
coordinateConverterは、指定された座標系で受信データを変換するために使用されます。- キャッシュ更新時にイベントを発火します。
- キャッシュされた状態プロパティ:
- CoordinateConverter(
UnityConvertの代替):デバイスの座標空間を Unity の座標空間に変換する方法を個別に定義します:Inverse3CoordinateConverterは、カーソル座標とボディの向きを変換します。VerseGripCoordinateConverterは、VerseGrip の向きを変換します。Vector3SettingsおよびQuaternionSettings構造体は、座標系変換設定を保存するために使用されます。- コンポーネントまたは Assets メニューから、Inverse3 および VerseGrip 用のデフォルト座標変換プリセットを作成します。
- Inverse3(Arm Forward Pose) 変換: アームをユーザー側に向け、LED アイコンが 側面にあるデバイス用の設定を持つ変換。
- Inverse3(Icon Forward Pose) 変換: LED アイコンをユーザー側に向け、アームが 側面にあるデバイス用の設定を持つ変換。
- VerseGrip(default) 変換: 画面を前方に向け、ユーザー入力ボタンが上部にあるデバイス用の変換。
- ClientConnection は、デバイスを開いた時点で
FirmwareVersion、GravityCompensation、TorqueScalingを取得します。 - ConnectionMonitor は
GravityCompensation、TorqueScaling、PowerSupplyを表示します。
バグ修正
Inverse3.DeviceStateChangedがJointsSetTorqueおよびJointsSetAnglesでも発火する問題を修正- 切断後にデバイスを自動的に再接続するように修正
- ビルド終了時にクライアントのポーリングスレッドをクリーンアップするように修正
- バグ修正および安定性の向上
- シーンの unload/load 後のデバイスマッピングを修正
非推奨
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)に置き換えられました
← インデックスページ に戻る