Zum Hauptinhalt springen

← Zurück zur Indexseite

Changelog 2.1.1

Abhängigkeiten​

  • Aktualisiert: haply-inverse-c.dll Version 2.1.1 (erfordert Inverse SDK >= 2.1)
  • Aktualisiert: Haply.Inverse.dll Version 2.1.1
  • Hinzugefügt: com.unity.xr.core-utils Version 2.3.0
warnung

Die Kompatibilität mit Versionen von Unity vor 2022.1.0f1 wurde unterbrochen. Bitte aktualisieren Sie auf eine neuere Version, falls Kompatibilitätsprobleme auftreten.

Inkompatible Änderungen​

  • Inverse3 und VerseGrip übergeben device als erstes Argument des Ereignisses ConnectionStateChanged
    • ConnectionStateChanged(state, prevState) > ConnectionStateChanged(device, state, prevState)
    • ConnectionStateChangedAsync(state, prevState) > ConnectionStateChangedAsync(device, state, prevState)
  • Die Eigenschaft State von DeviceMapper ist nun schreibgeschützt.

Neue Funktionen​

  • Die Inverse3Body-Komponente wendet die Körperausrichtung eines Inverse3-Geräts auf ein angegebenes GameObject an.
  • Inverse3:
    • Die Gerätedaten (Inspector) zeigen ControlMode sowie den zuletzt an das Gerät gesendeten Wert Force, Position oder Angles an.
    • JointsAngles und JointsAngularVelocity.
    • Powered gibt an, ob das Gerät derzeit mit Strom versorgt wird.
    • Das Unity-Ereignis PowerSupplyStatusChanged wird ausgelöst, sobald sich der Status der Stromversorgung ändert.
    • Orientation liefert die aktuelle Ausrichtung des Inverse3-Geräts.
    • Das Ereignis OrientationChangedAsync wird ausgelöst, sobald sich die Körperausrichtung ändert.
    • RequestOrientation() fordert die Körperausrichtung manuell an.
    • ControlMode liefert den aktuellen Steuermodus (CursorForce, CursorPosition, JointsTorques, JointsAngles).
    • Das Unity-Ereignis ControlModeChanged wird ausgelöst, sobald sich der Steuermodus ändert.
    • ForceOutput, PositionOutput, JointsTorqueOutput und JointsAnglesOutput liefern die aktuellen Ausgaben.
    • Release() setzt die Gerätesteuerung zurück, indem eine Null-Kraft gesendet wird (ersetzt TryResetForce()).
    • CoordinateConverter dient zur Definition der Koordinatenumrechnung über eine Voreinstellungsdatei oder einen direkten Wert.
    • ErrorEvent wird im Hauptthread ausgelöst, wenn ein Fehlerereignis von ClientConnection für ein zugeordnetes Gerät auftritt.
  • VerseGrip:
    • CoordinateConverter dient zur Definition der Koordinatenumrechnung über eine Voreinstellungsdatei oder einen direkten Wert.
    • ErrorEvent wird im Hauptthread ausgelöst, wenn ein Fehlerereignis von ClientConnection für ein zugeordnetes Gerät auftritt.
  • DeviceMapper:
    • Ordnet zur Laufzeit verbundene Geräte zu.
    • Ruft Inverse3 Stromversorgung und Körperausrichtung für jedes Inverse3-Gerät ab.
    • Modi von DeviceInfoPollingMode: Manual, Once (Standard) oder Continuous
    • devicesInfoPollDelay mit sicherem Mindestwert 1sec, wenn die Körperausrichtung angefordert wird, sonst 0.5sec.
    • Wird nur initialisiert, wenn die Komponente aktiviert ist.
    • Gefilterte Geräte-Getter:
      • GetInverse3Devices(handedness) ruft Inverse3-Geräte ab, die nach der angegebenen Händigkeit gefiltert sind.
      • GetVerseGripDevices(handedness) ruft VerseGrip-Geräte ab, die mit Inverse3-Geräten verknüpft sind, welche der angegebenen Händigkeit entsprechen.
      • GetInverse3(handedness) ruft das erste Inverse3-Gerät ab, das der angegebenen Händigkeit entspricht.
      • GetInverse3(verseGrip) ruft das Inverse3-Gerät ab, das einem bestimmten VerseGrip-Gerät zugeordnet ist.
      • GetVerseGrip(inverse3) ruft das VerseGrip-Gerät ab, das einem angegebenen Inverse3-Gerät zugeordnet ist.
  • OrientationSettings wurde zu den Komponenten VerseGripCursor und Inverse3Body hinzugefügt.
  • VerseGrip.Orientation ersetzt VerseGrip.LocalRotation.
  • Expliziter Inverse3Data-Typ für den Cache von Inverse3:
    • Eigenschaften der zwischengespeicherten Zustände: CursorPosition, JointsAngles, JointsAngularVelocity, Orientation,
    • GravityCompensation, StatusPowerSupply, ConfigTorqueScaling
    • Eigenschaften der zwischengespeicherten Steuerausgaben: ControlMode, CursorForceOutput, CursorPositionOutput, JointsTorqueOutput, JointsAnglesOutput.
    • coordinateConverter wird verwendet, um empfangene und gesendete Daten mit dem angegebenen Koordinatensystem umzuwandeln.
    • Der Cache abonniert den Client, um automatisch aktualisiert zu werden.
    • Bei Cache-Aktualisierungen werden Ereignisse ausgelöst.
  • Expliziter Joint3-Struct mit drei float-Membern j0, j1 und j2 (verwendet von JointsSetTorque und JointsSetAngles).
  • Expliziter VerseGripData-Typ für den Cache von VerseGrip:
    • Eigenschaften der zwischengespeicherten Zustände: Orientation, IsAttached, ButtonCount.
    • Zwischengespeicherte Tastenzustände.
    • Der Cache abonniert den Client, um automatisch aktualisiert zu werden.
    • coordinateConverter wird verwendet, um empfangene Daten mit dem angegebenen Koordinatensystem umzuwandeln.
    • Bei Cache-Aktualisierungen werden Ereignisse ausgelöst.
  • CoordinateConverter (ersetzt UnityConvert), um einzeln festzulegen, wie der Koordinatenraum des Geräts in den Unity-Koordinatenraum umgewandelt wird:
    • Inverse3CoordinateConverter zur Umrechnung von Cursor-Koordinaten und Körperausrichtung.
    • VerseGripCoordinateConverter zur Umrechnung der VerseGrip-Ausrichtung.
    • Vector3Settings- und QuaternionSettings-Structs, die zum Speichern der Einstellungen für die Koordinatenumrechnung verwendet werden.
    • Standard-Voreinstellungen für Koordinatenumrechner für Inverse3 und VerseGrip über die Komponenten oder das Assets-Menü erstellen.
      • Umrechner Inverse3 (Arm Forward Pose) mit Einstellungen für ein Gerät, dessen Arm zum Benutzer zeigt und dessen LED-Symbol an der Seite liegt.
      • Umrechner Inverse3 (Icon Forward Pose) mit Einstellungen für ein Gerät, dessen LED-Symbol zum Benutzer zeigt und dessen Arm an der Seite liegt.
      • Umrechner VerseGrip (Standard) für ein Gerät, dessen Bildschirm nach vorn zeigt und bei dem sich die Eingabetaste oben befindet.
  • ClientConnection erhält FirmwareVersion, GravityCompensation und TorqueScaling, sobald ein Gerät geöffnet wird.
  • ConnectionMonitor zeigt GravityCompensation, TorqueScaling und PowerSupply an.

Fehlerbehebungen​

  • Inverse3.DeviceStateChanged wurde fälschlicherweise auch bei JointsSetTorque und JointsSetAngles ausgelöst.
  • Automatische Wiederverbindung des Geräts nach einer Trennung.
  • Bereinigung des Client-Polling-Threads beim Beenden des Builds.
  • Fehler behoben und Stabilität verbessert.
  • Gerätezuordnung nach dem Entladen/Laden einer Szene behoben

Veraltet​

  • ClientConnection.Configuration.HapticFrequencyHz wurde durch HapticPollFrequency ersetzt
  • ClientConnection.Configuration.PollDelayNs wurde durch HapticPollDelayNs ersetzt
  • DeviceBehaviour.ConnectionStateChangedAsync wird in der nächsten Hauptversion entfernt
  • Inverse3.Position wurde durch Inverse3.CursorPosition ersetzt
  • Inverse3.LocalPosition wurde durch Inverse3.CursorLocalPosition ersetzt
  • Inverse3.TryResetForce() wurde durch Release() ersetzt
  • VerseGrip.LocalRotation wurde durch VerseGrip.Orientation ersetzt
  • JointsSetTorque(Vector3) wurde durch JointsSetTorques(Joint3) ersetzt
  • JointsSetTorque(float, float, float) wurde durch JointsSetTorques(float, float, float) ersetzt
  • JointsSetAngles(Vector3) wurde durch JointsSetAngles(Joint3) ersetzt

← Zurück zur Indexseite