Zum Hauptinhalt springen

← Zurück:Indexseite

2.1.1 Änderungsprotokoll

Abhängigkeiten​

  • haply- Die Datei „inverse-c.dll“ wurde auf Version 2.1.1 aktualisiert (Inverse SDK >= 2.1 erforderlich)
  • Haply.Die Datei „Inverse.dll“ wurde auf Version 2.1.1 aktualisiert.
  • „com.unity.xr.core-utils“ wurde auf Version 2.3.0 aktualisiert
Warnung

Die Kompatibilität mit Versionen von Unity vor 2022.1.0f1 wurde beeinträchtigt. Sollten Kompatibilitätsprobleme auftreten, aktualisieren Sie bitte auf eine neuere Version.

Destruktive Änderung​

  • Inverse3 sowie VerseGrip ist,ConnectionStateChanged Als erstes Argument des Events device Ich habe angefangen, es weiterzugeben
    • ConnectionStateChanged(state, prevState) > ConnectionStateChanged(device, state, prevState)
    • ConnectionStateChangedAsync(state, prevState) > ConnectionStateChangedAsync(device, state, prevState)
  • DeviceMapper State Die Eigenschaft wurde auf „Nur Lesen“ gesetzt.

Neue Funktionen​

  • Die Komponente „Inverse3Body“ wendet die Ausrichtung des Körpers des Geräts „Inverse3 “ auf das angegebene GameObject an.
  • Inverse3:
    • Unter „Gerätedaten“ (Inspector) werden die an das Gerät gesendeten ControlMode und zum Schluss Force、Positionoder Angles wird angezeigt.
    • JointsAngles sowie JointsAngularVelocity。
    • Powered Zeigt an, ob das Gerät derzeit eingeschaltet ist.
    • PowerSupplyStatusChanged Unity-Ereignisse treten bei jeder Änderung des Stromversorgungsstatus auf.
    • Orientation Inverse3 , ruft die aktuelle Ausrichtung des Geräts ab.
    • OrientationChangedAsync Das Ereignis wird jedes Mal ausgelöst, wenn sich die Ausrichtung des Körpers ändert.
    • RequestOrientation() fordert manuell die Ausrichtung des Körpers an.
    • ControlMode ruft den aktuellen Steuerungsmodus (CursorForce, CursorPosition, JointsTorques, JointsAngles) ab.
    • ControlModeChanged Ein Unity-Ereignis wird bei jedem Wechsel des Steuerungsmodus ausgelöst.
    • ForceOutput、PositionOutput、JointsTorqueOutput、JointsAnglesOutput ruft den aktuellen Ausgabewert ab.
    • Release() setzt die Gerätesteuerung durch Senden des Werts „null“ zurück (TryResetForce() (anstelle von).
    • CoordinateConverter Definiert die Einstellungen für die Koordinatentransformation anhand einer Voreinstellungsdatei oder durch direkte Eingabe von Werten.
    • ErrorEvent wird ausgelöst, wenn bei einem bereits zugeordneten Gerät ein Fehlerereignis von `ClientConnection` hinzugefügt wird (auf dem Hauptthread)
  • VerseGrip:
    • CoordinateConverter Definiert die Einstellungen für die Koordinatentransformation anhand einer Voreinstellungsdatei oder durch direkte Eingabe von Werten.
    • ErrorEvent wird ausgelöst, wenn bei einem bereits zugeordneten Gerät ein Fehlerereignis von `ClientConnection` hinzugefügt wird (auf dem Hauptthread)
  • DeviceMapper:
    • Ordnet die bei der Ausführung verbundenen Geräte zu.
    • Für jedes „ Inverse3 “-Gerät werden die Werte für „Inverse3 “ ( Stromversorgung ) und „Body Orientation“ (Ausrichtung des Gehäuses) abgerufen.
    • DeviceInfoPollingMode Der Modus ist Manual、Once(Standard) oder Continuous です
    • devicesInfoPollDelay ist der sichere Mindestwert, wenn die Ausrichtung des Aufbaus vorgeschrieben ist 1sec , andernfalls 0.5sec wird eingestellt.
    • Die Initialisierung erfolgt erst, wenn die Komponente aktiviert wird.
    • Getter für gefilterte Geräte:
      • GetInverse3Devices(handedness) Ruft die nach der angegebenen dominanten Hand gefilterten „ Inverse3 “-Geräte ab.
      • GetVerseGripDevices(handedness) Ruft das mit dem Gerät „ Inverse3 “ verknüpfte VerseGrip-Gerät ab, das der angegebenen dominanten Hand entspricht.
      • GetInverse3(handedness) Ruft das erste „ Inverse3 “-Gerät ab, dessen bevorzugte Hand mit der angegebenen übereinstimmt.
      • GetInverse3(verseGrip) Ruft das „ Inverse3 “-Gerät ab, das dem angegebenen „VerseGrip“-Gerät zugeordnet ist.
      • GetVerseGrip(inverse3) Ruft das mit dem angegebenen „ Inverse3 “-Gerät verknüpfte VerseGrip-Gerät ab.
  • Die „OrientationSettings“ wurden den Komponenten „VerseGripCursor“ und „Inverse3Body“ hinzugefügt.
  • VerseGrip.Orientation は VerseGrip.LocalRotation ersetzt.
  • Inverse3 Explizite Angaben für den Cache Inverse3D-Daten Typ:
    • Zwischengespeicherte Zustands-Eigenschaften: CursorPosition、JointsAngles、JointsAngularVelocity、Orientation、 GravityCompensation、StatusPowerSupply、ConfigTorqueScaling
    • Zwischengespeicherte Steuerausgänge Eigenschaften: ControlMode、CursorForceOutput、CursorPositionOutput、JointsTorqueOutput、 JointsAnglesOutput。
    • coordinateConverter wird verwendet, um Empfangs- und Sendedaten in das angegebene Koordinatensystem zu konvertieren.
    • Der Cache abonniert den Client und wird automatisch aktualisiert.
    • Löst bei einer Cache-Aktualisierung ein Ereignis aus.
  • 3 „float“-Elemente j0、j1、j2 mit einer expliziten Joint3 Struktur (JointsSetTorque sowie JointsSetAngles (zur Verwendung).
  • Explizite Anweisungen für den VerseGrip-Cache VerseGripData Typ:
    • Zwischengespeicherte Zustands-Eigenschaften: Orientation、IsAttached、ButtonCount。
    • Status der zwischengespeicherten Schaltfläche.
    • Der Cache abonniert den Client und wird automatisch aktualisiert.
    • coordinateConverter wird verwendet, um die empfangenen Daten in das angegebene Koordinatensystem zu transformieren.
    • Löst bei einer Cache-Aktualisierung ein Ereignis aus.
  • CoordinateConverter(UnityConvert (Alternative): Hier wird individuell definiert, wie der Koordinatenraum des Geräts in den Unity-Koordinatenraum umgewandelt wird:
    • Inverse3CoordinateConverter wandelt die Cursor-Koordinaten und die Ausrichtung des Körpers um.
    • VerseGripCoordinateConverter ändert die Ausrichtung von VerseGrip.
    • Vector3Settings sowie QuaternionSettings Strukturen werden verwendet, um Einstellungen für Koordinatensystemtransformationen zu speichern.
    • Erstellen Sie über das Menü „Komponenten“ oder „Assets“ Standardvoreinstellungen für die Koordinatentransformation für „Inverse3 “ und „VerseGrip“.
      • Inverse3(Arm-Forward-Pose) Transformation: Eine Transformation, bei der die Arme zum Benutzer hin ausgerichtet sind und die Einstellungen für Geräte mit einem LED-Symbol an der Seite enthält.
      • Inverse3(Icon Forward Pose) Transformation: Eine Transformation mit Einstellungen für Geräte, bei denen das LED-Symbol zum Benutzer hin ausgerichtet ist und sich der Arm an der Seite befindet.
      • VerseGrip (Standard) – Anpassung: Anpassung für Geräte, bei denen der Bildschirm nach vorne zeigt und sich die Bedientasten oben befinden.
  • ClientConnection ist, sobald das Gerät geöffnet wird FirmwareVersion、GravityCompensation、TorqueScaling wird abgerufen.
  • ConnectionMonitor は GravityCompensation、TorqueScaling、PowerSupply wird angezeigt.

Fehlerbehebung​

  • Inverse3.DeviceStateChanged aber JointsSetTorque sowie JointsSetAngles Das Problem mit der Entzündung wurde behoben
  • So angepasst, dass das Gerät nach einer Unterbrechung automatisch wieder verbunden wird
  • Es wurde eine Korrektur vorgenommen, damit der Polling-Thread des Clients nach Abschluss des Builds bereinigt wird.
  • Fehlerbehebungen und Stabilitätsverbesserungen
  • Korrektur der Gerätezuordnung nach dem Entladen/Laden einer Szene

Nicht empfohlen​

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

← Zurück zur Indexseite