DeviceMapper-Komponente
Die DeviceMapper-Komponente im Haply Inverse Unity-Plugin wurde entwickelt, um die Erkennung, das Öffnen und die Zuordnung von Haply -Geräten, wie Inverse3 und VerseGrip, mit den GameObjects und Device Controllern der Szene zu verwalten. Es bietet eine einheitliche Schnittstelle für die Interaktion mit diesen Geräten und ermöglicht eine dynamische Steuerung und Konfiguration auf der Grundlage von Laufzeitbedingungen.
Übersicht
Die Hauptfunktion des DeviceMappers ist es, die Kommunikation zwischen der Software und der angeschlossenen Haply Hardware zu erleichtern.
Es stellt sicher, dass die Geräte korrekt initialisiert und zugeordnet werden, und verwaltet den Status jedes Geräts, um reaktionsschnelle und interaktive Erfahrungen in Unity-Anwendungen zu ermöglichen.
Abfrage von Geräteinformationen
Um ein Gleichgewicht zwischen Leistung und Echtzeitdatengenauigkeit zu erreichen, verwendet der DeviceMapper einen Abfragemechanismus, um bestimmte Geräteinformationen zu aktualisieren, z. B. den Status der Stromversorgung und die Körperausrichtung. Das Polling-Verhalten wird durch die folgenden Modi gesteuert:
-
Abfragemodi:
- Manuell: In diesem Modus werden die Geräteinformationen nur auf ausdrückliche Anforderung des Benutzers oder Entwicklers aktualisiert. Dieser Modus ist leistungsfreundlich und eignet sich für Szenarien, in denen Echtzeitaktualisierungen nicht entscheidend sind.
- Einmalig: Dieser Modus löst eine einmalige Aktualisierung der Geräteinformationen unmittelbar nach dem Öffnen des Geräts aus. Er liefert einen Schnappschuss des Gerätezustands bei der Initialisierung, der für die Festlegung der Anfangsbedingungen nützlich ist.
- Kontinuierlich: In diesem Modus aktualisiert die Komponente kontinuierlich die Geräteinformationen in Intervallen, die in der
devicesInfoPollDelay
Einstellung. Obwohl dieser Modus die aktuellsten Informationen gewährleistet, wird empfohlen, ihn nur während der Einrichtungs- oder Fehlersuchphasen zu verwenden.
-
Abfrageverzögerung: Die
devicesInfoPollDelay
legt das Intervall in Sekunden zwischen den automatischen Aktualisierungen der Geräteinformationen fest, das im Modus "Kontinuierlich" gilt. Die minimal zulässige Verzögerung beträgt 0,5 Sekunden, wobei ein Minimum von 1 Sekunde empfohlen wird, um das Risiko eines haptischen Ruckelns zu minimieren. Entwickler sollten diese Einstellung sorgfältig verwalten und dabei den Bedarf an zeitnahen Daten mit den möglichen Auswirkungen auf die Leistung abwägen.
Kontinuierliches Polling kann aufgrund der häufigen Aktualisierungen zu haptischen Rucklern führen, die die Leistung und Reaktionsfähigkeit haptischer Rückmeldesysteme beeinträchtigen können.
Bereites Ereignis
Die DeviceMapper
Komponente löst eine Ready
Ereignis, wenn alle angeschlossenen Geräte geöffnet und zugeordnet sind.
Dieses Ereignis signalisiert, dass es sicher ist, mit der Verwendung von Geräte-Getter-Methoden zu beginnen, wie z. B. GetInverse3
oder GetVerseGrip
, um die Gerätesteuerungen der Szene für weitere Interaktionen abzurufen.
Geräteliste
Im Unity-Editor wird die DeviceMapper
bietet eine dynamische Liste der angeschlossenen Geräte, die im Inspektor während des Abspielmodus angezeigt wird.
Diese Liste enthält Details wie Gerätetyp, ID und Verbindungsstatus und hilft Entwicklern bei der Überwachung und Verwaltung von Geräten und erleichtert die Fehlersuche während der Entwicklung.