←目次ページに戻る
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は、デバイスの現在の電源供給状態を示します。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(デフォルト値)または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)に置き換えられます
←目次ページに戻る