Zum Hauptinhalt springen

← Zurück zur Indexseite

2.0.0 Änderungsprotokoll

Abhängigkeiten​

  • Haply Inverse Laufzeit-SDK Version 2.0.0
    • haply-inverse-service.exe: Version 2.0.0 oder höher (muss im Hintergrund ausgeführt werden)
    • haply-inverse-c.dll: Version 2.0.0 (im Lieferumfang enthalten)
  • Haply.Inverse.dll: Version 2.0.0 (im Lieferumfang enthalten)

Destruktive Änderung​

  • Ich habe „HapticThread“ und „HandleThread“ Inverse3 durch „VerseGrip“ ersetzt.
  • Run(callback) Methoden für häufig auftretende Ereignisse, die abonniert werden können DeviceStateChanged(device) habe ich ersetzt.
  • hapticThread.onInitialized Veranstaltungen Inverse3.DeviceOpened habe ich ersetzt.
  • handleThread.onInitialized Veranstaltungen VerseGrip.DeviceOpened habe ich ersetzt.
  • Cursor position und velocity wird nicht mehr über die Callback-Parameter von Haptic übergeben.
  • Thread-sichere, verwaltete AdditionalData wurde entfernt und durch eine benutzerdefinierte Datenverarbeitung ersetzt.

Neue Funktionen​

  • Das Überwachungsfenster zur Visualisierung des Status der verbundenen Geräte (Fenster > „ Haply “ > „Verbindungsmonitor“).
  • Über das Menü „Erstellen“ von „Haply “ (GameObject > „ Haply “ > „Haptic Rig“) lässt sich die Szene ganz einfach einrichten, wobei alle erforderlichen GameObjects bereits enthalten sind.
  • Inverse3DeviceMapper, der die automatische Zuordnung von Geräten und VerseGrip-Geräten vornimmt.
  • Eine „Client Configuration “-Komponente zur Steuerung bestimmter Verbindungsanwendungen sowie der gewünschten Frequenz der haptischen Rückkopplungsschleife.
  • Inverse3 Komponente (Ersetzt „HapticThread“) Dabei werden im Raum Geräte vom Typ „ Inverse3 “ platziert, deren Position erfasst wird, um die Kraft über einen Hochfrequenz-Thread zu steuern.
    • Inverse3.DeviceStateChanged Ereignis. Wird durch einen separaten Haptik-Thread ausgelöst, der mit hoher Frequenz läuft.
    • Automatische Transformation vom lokalen Raum des Geräts in den Weltraum der Szene. Thread-sichere, zwischengespeicherte Transformationsmatrizen LocalToWorldMatrix und WorldToLocalMatrix wird verwendet.
    • Inverse3.LocalPosition und Inverse3.LocalVelocity liefert die unverarbeiteten Cursor-Koordinaten im lokalen Raum des Geräts.
    • Inverse3.Position und Inverse3.Velocity liefert die in den Weltraum umgewandelten Cursor-Koordinaten.
    • Inverse3.SetLocalForce und Inverse3.SetLocalPosition ist eine Methode zur Steuerung des Geräts unter Verwendung lokaler Koordinaten.
    • Inverse3.SetForce und Inverse3.SetPosition ist eine Methode zur Steuerung des Geräts unter Verwendung von Weltkoordinaten.
    • Inverse3.JointsSetTorque dient der direkten Steuerung des Motors.
    • Inverse3.JointsSetAngles dient dazu, die Armposition des Geräts direkt zu steuern.
    • Inverse3.WorkspaceCenter liefert die Koordinaten des Arbeitsbereichszentrums basierend auf der dominanten Hand.
  • VerseGrip Komponente (Ersetzt „HandleThread“) ruft in einem hochfrequenten Thread die Ausrichtung von VerseGrip ab. Zudem werden der Status der Tasten und der Befestigungsstatus abgerufen.
    • VerseGrip.DeviceStateChanged Ereignis. Wird durch einen separaten Haptik-Thread ausgelöst, der mit hoher Frequenz läuft.
    • Zur Verwendung im Haptik-Thread VerseGrip.GetButton、VerseGrip.GetButtonDown、VerseGrip.GetButtonUp Methode. UnityEngine.Input Es folgt derselben Logik.
    • Unity-Ereignisse, die auf dem Hauptthread ausgelöst werden und der Interaktion zwischen Szene und Benutzeroberfläche dienen: VerseGrip.ButtonDown、VerseGrip.ButtonUp、VerseGrip.Attached, sowie VerseGrip.Detached。
  • Die Komponenten „Inverse3Cursor“ und „VerseGripCursor“zur Visualisierung der Position und Ausrichtung des Cursors innerhalb einer Szene sowie zur Verwaltung des Modells.
  • Ein „HapticOrigin“-GameObject, das die Skalierung und Platzierung des Arbeitsbereichs erleichtert.
  • Visualisierung der Position, Ausrichtung und der dominanten Hand des Geräts mithilfe von Gizmo.
  • Visualisierung des erreichbaren Arbeitsbereichs mithilfe von Gizmo.
  • Gefilterte Protokollausgabe.
  • Beispiel aus dem Tutorial.
  • Experimentelles Beispiel.

Fehlerbehebungen und Verbesserungen​

  • Bei der Erkennung eines Geräts wird nun die bevorzugte Hand unter „ Inverse3 “ angezeigt. Das Gerät muss nicht mehr geöffnet werden, um die bevorzugte Hand abzurufen.
  • Automatische Geräteerkennung (Haply unter Verwendung vonInverse Service und DeviceMapper )
  • Die Frequenz des haptischen Loops wurde von ~1000 Hz auf ~4000 kHz erhöht.

← Zurück zur Indexseite