Zum Hauptinhalt springen

← Zurück zur Startseite

Änderungsprotokoll 2.1.1

Nebengebäude​

  • Aktualisierung von „haply-inverse-c.dll“ auf Version 2.1.1 (erfordert „Inverse SDK “ >= 2.1)
  • Aktualisierung von „Haply.Inverse.dll“ auf Version 2.1.1
  • Hinzufügung von „com.unity.xr.core-utils“, Version 2.3.0
Achtung

Die Kompatibilität mit Unity-Versionen vor 2022.1.0f1 ist nicht mehr gewährleistet. Bitte aktualisieren Sie auf eine neuere Version, falls Kompatibilitätsprobleme auftreten sollten.

Inkompatible Änderungen​

  • Inverse3 et VerseGrip übermitteln device als erstes Argument der Veranstaltung ConnectionStateChanged
    • ConnectionStateChanged(state, prevState) > ConnectionStateChanged(device, state, prevState)
    • ConnectionStateChangedAsync(state, prevState) > ConnectionStateChangedAsync(device, state, prevState)
  • Das Anwesen State de DeviceMapper ist nun schreibgeschützt.

Neue Funktionen​

  • Die Komponente „Inverse3Body“ wendet die Ausrichtung des Körpers eines „ Inverse3 “-Geräts auf ein bestimmtes GameObject an.
  • Inverse3 :
    • „Gerätedaten (inspecteur)“ wird angezeigt ControlMode sowie die letzte Force, Position ou Angles an das Gerät gesendet.
    • JointsAngles et JointsAngularVelocity.
    • Powered Zeigt an, ob das Gerät derzeit mit Strom versorgt wird.
    • Die „Unity“-Veranstaltung PowerSupplyStatusChanged wird bei jeder Änderung des Stromversorgungszustands ausgelöst.
    • Orientation Ruft die aktuelle Ausrichtung des Geräts ab: Inverse3.
    • Die Veranstaltung OrientationChangedAsync wird bei jeder Änderung der Körperausrichtung ausgelöst.
    • RequestOrientation() ermöglicht es, die Ausrichtung des Körpers manuell festzulegen.
    • ControlMode Ruft den aktuellen Steuerungsmodus ab (CursorForce, CursorPosition, JointsTorques, JointsAngles).
    • Die „Unity“-Veranstaltung ControlModeChanged wird bei jeder Änderung des Steuerungsmodus ausgelöst.
    • ForceOutput, PositionOutput, JointsTorqueOutput et JointsAnglesOutput erhalten die aktuellen Ausgabewerte.
    • Release() Setzt die Steuerung des Geräts zurück, indem eine Kraft von Null gesendet wird (ersetzt TryResetForce()).
    • CoordinateConverter ermöglicht die Festlegung der Parameter für die Koordinatenumrechnung mithilfe einer vordefinierten Datei oder durch direkte Eingabe eines Werts.
    • ErrorEvent wird (im Haupt-Thread) ausgelöst, wenn für ein zugeordnetes Gerät ein Fehlerereignis von „ClientConnection“ auftritt.
  • VerseGrip :
    • CoordinateConverter ermöglicht die Festlegung der Parameter für die Koordinatenumrechnung mithilfe einer vordefinierten Datei oder durch direkte Eingabe eines Werts.
    • ErrorEvent wird (im Haupt-Thread) ausgelöst, wenn für ein zugeordnetes Gerät ein Fehlerereignis von „ClientConnection“ auftritt.
  • DeviceMapper :
    • Verbinde die verbundenen Geräte während der Ausführung.
    • Hier finden Sie Informationenzu Netzteilen ( Inverse3 ) und zur Ausrichtung des Gehäuses für jedes Gerät: Inverse3.
    • DeviceInfoPollingMode : Modi Manual, Once (Standard) oder Continuous
    • devicesInfoPollDelay mit einem festgelegten Sicherheitsminimum von 1sec wenn die Ausrichtung des Körpers abgefragt wird, 0.5sec ansonsten.
    • Wird nur initialisiert, wenn die Komponente aktiviert ist.
    • Zubehör für Filtergeräte:
      • GetInverse3Devices(handedness) Ruft die Geräte ab, die nach der angegebenen Seitigkeit gefiltert wurden: Inverse3 .
      • GetVerseGripDevices(handedness) Ruft die VerseGrip-Geräte ab, die den Inverse3 -Geräten zugeordnet sind, die der angegebenen Seitenlage entsprechen.
      • GetInverse3(handedness) Ruft das erste Gerät „ Inverse3 “ ab, das der angegebenen Seitigkeit 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 bestimmten „ Inverse3 “-Gerät zugeordnet ist.
  • Die „OrientationSettings“ wurden den Komponenten „VerseGripCursor“ und „Inverse3Body“ hinzugefügt.
  • VerseGrip.Orientation ersetzen VerseGrip.LocalRotation.
  • Expliziter Typ Inverse3D-Daten für die Cache-Seite von Inverse3 :
    • Zwischengespeicherte Zustandseigenschaften: CursorPosition, JointsAngles, JointsAngularVelocity, Orientation,
    • GravityCompensation, StatusPowerSupply, ConfigTorqueScaling
    • Eigenschaften der zwischengespeicherten Steuerausgänge: ControlMode, CursorForceOutput, CursorPositionOutput, JointsTorqueOutput, JointsAnglesOutput.
    • coordinateConverter wird verwendet, um die empfangenen und gesendeten Daten gemäß dem angegebenen Koordinatensystem umzurechnen.
    • Der Cache abonniert den Client, um automatisch aktualisiert zu werden.
    • Löst Ereignisse bei Cache-Aktualisierungen aus.
  • Explizite Struktur Joint3 mit drei Float-Elementen j0, j1 et j2 (verwendet von JointsSetTorque et JointsSetAngles).
  • Expliziter Typ VerseGripData Für die VerseGrip-Abdeckung:
    • Zwischengespeicherte Zustandseigenschaften: Orientation, IsAttached, ButtonCount.
    • Zwischengespeicherte Schaltflächenzustände.
    • Der Cache abonniert den Client, um automatisch aktualisiert zu werden.
    • coordinateConverter wird verwendet, um die empfangenen Daten gemäß dem angegebenen Koordinatensystem umzurechnen.
    • Löst Ereignisse bei Cache-Aktualisierungen aus.
  • CoordinateConverter (ersetzen UnityConvert) um individuell festzulegen, wie die Koordinaten des Geräts in den Unity-Koordinatenraum umgerechnet werden sollen:
    • Inverse3CoordinateConverter um die Koordinaten des Cursors und die Ausrichtung des Körpers umzurechnen.
    • VerseGripCoordinateConverter um die Ausrichtung von VerseGrip zu ändern.
    • Die Strukturen Vector3Settings et QuaternionSettings die zur Speicherung der Umrechnungsparameter des Koordinatensystems dienen.
    • Erstellen Sie die Standard-Voreinstellungen für den Koordinatenkonverter für „ Inverse3 “ und „VerseGrip“ über die Komponenten oder das Menü „Assets“.
      • Inverse3 (Arm-Forward-Pose): Konverter mit Parametern für ein Gerät, dessen Arm zum Benutzer hin ausgerichtet ist und dessen DEL-Symbol sich an der Seite befindet.
      • Inverse3 (Symbol „Nach vorne gerichtet“): Konverter mit Parametern für ein Gerät, dessen LED-Symbol zum Benutzer hin ausgerichtet ist und dessen Arm seitlich absteht.
      • VerseGrip (Standard): Adapter für ein Gerät, dessen Bildschirm zum Benutzer hin ausgerichtet ist und dessen Eingabetaste sich oben befindet.
  • ClientConnection erhält FirmwareVersion, GravityCompensation et TorqueScaling beim Öffnen des Geräts.
  • ConnectionMonitor Plakat GravityCompensation, TorqueScaling et PowerSupply.

Fehlerbehebungen​

  • Inverse3.DeviceStateChanged wurde ebenfalls ausgelöst durch JointsSetTorque et JointsSetAngles.
  • Automatische Wiederverbindung des Geräts nach einer Unterbrechung.
  • Bereinigung des Client-Abfrage-Threads nach Abschluss des Builds.
  • Behebung von Fehlern und Verbesserung der Stabilität.
  • Korrektur der Gerätezuordnung nach dem Entladen und Laden der Szene

Veraltet​

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

← Zurück zur Startseite