Zum Hauptinhalt springen
Version: 2.2.0

Haply::Inverse::Unity::Inverse3Body

Verwaltet die Körperausrichtung eines Inverse3 Gerätes und aktualisiert die Ausrichtung eines bestimmten GameObjects in Echtzeit. Mehr...

Erbt von Haply.Inverse.Unity.CursorBehaviour, MonoBehaviour

Geschützte Funktionen

Name
override voidUpdateCursor()
Aktualisiert die Rotation des GameObjects, damit sie mit der aktuellen Ausrichtung des zugehörigen Inverse3 Gerätes anzupassen.
virtual override voidAddDeviceListeners()
Fügt dem Gerät Listener hinzu.
virtual override voidRemoveDeviceListeners()
Entfernt Listener vom Gerät.

Geschützte Eigenschaften

Name
override boolIsUpdateCursorRequired
Gibt an, ob die UpdateCursor-Methode beim nächsten FixedUpdate-Aufruf aufgerufen werden muss.

Öffentliche Attribute

Name
SchwimmerrotationResolution
Die minimale Änderung der Ausrichtung, die erforderlich ist, um das GameObject zu drehen.

Zusätzliche vererbte Mitglieder

Geschützte Funktionen geerbt von Haply.Inverse.Unity.CursorBehaviour

Name
virtuelles Spiel-ObjektGetModelPrefab()
Ruft die Vorabversion ab, die beim Start instanziiert werden soll.
virtuelle LeereErwachen()
virtuelle LeereOnEnable()
voidAktualisierung()
voidFixedUpdate()

Öffentliche Eigenschaften geerbt von Haply.Inverse.Unity.CursorBehaviour

Name
DeviceBehaviourGerät
Gerät, das den Cursor steuert.
TransformierenModelPrefab
Die Vorabversion eines Cursor-Modells, das für diesen Cursor angezeigt werden soll und von diesem Verhalten automatisch instanziiert wird.
TransformierenModelParent
Die Transformation, die dieses Verhalten bei seiner Instanziierung als Elternteil für die Modellvoreinstellung verwendet.
TransformierenModell
Die Instanz des Cursor-Modells in der Szene.
boolHideControllerModel
Ob das Cursor-Modell ausgeblendet werden soll.
SchwimmerRadius
Ruft den Modellradius ab.

Geschützte Eigenschaften geerbt von Haply.Inverse.Unity.CursorBehaviour

Name
boolIsDeviceSet
Zeigt an, ob das Device gesetzt wurde.

Detaillierte Beschreibung

class Haply::Inverse::Unity::Inverse3Body;

Verwaltet die Körperausrichtung eines Inverse3 Geräts und aktualisiert die Ausrichtung eines bestimmten GameObjects in Echtzeit.

Die Inverse3Body-Komponente wartet auf Orientierungsänderungen von ihrem zugehörigen Inverse3 Gerät und wendet diese Aktualisierungen auf die Transformation des GameObjects an, mit dem sie verbunden ist. Dies ermöglicht eine synchronisierte Darstellung der physischen Ausrichtung des Geräts innerhalb der virtuellen Umgebung.

Die vom Gerät empfangenen Orientierungsdaten können vor der Anwendung durch den Inverse3.coordinateConverter modifiziert werden, was Anpassungen wie die Neuordnung der Achsen, die Negation und die Anwendung eines Rotationsoffsets ermöglicht. Durch diese Flexibilität wird sichergestellt, dass die virtuelle Darstellung mit den Erwartungen des Benutzers und den Besonderheiten der virtuellen Szene in Einklang gebracht werden kann.

Die Empfindlichkeit der Orientierungsaktualisierungen kann über die rotationResolution gesteuert werden, die die minimale Änderung der Orientierung definiert, die erforderlich ist, um die Rotation des GameObjects zu aktualisieren. Dies trägt dazu bei, Jitter und unnötige Aktualisierungen zu reduzieren und die Sanftheit der Orientierungsdarstellung zu verbessern.

Diese Komponente erfordert ein zugehöriges Inverse3 Gerät, um korrekt zu funktionieren. Sie abonniert die Ausrichtungsänderungsereignisse des Geräts und aktualisiert die Ausrichtung des GameObjects entsprechend. Wenn das Gerät nicht eingestellt ist oder die Verbindung getrennt wird, aktualisiert die Komponente die Ausrichtung des Spielobjekts nicht mehr.

Geschützte Funktionen Dokumentation

Funktion UpdateCursor

override void UpdateCursor()

Aktualisiert die Drehung des GameObjects, damit es mit der aktuellen Ausrichtung des zugehörigen Inverse3 Gerätes anzupassen.

Diese Methode wendet direkt die neuesten Orientierungsdaten vom Inverse3 Gerät auf die Transformation des GameObjects an, wobei alle in Inverse3.coordinateConverter angegebenen Änderungen berücksichtigt werden. Sie sollte immer dann aufgerufen werden, wenn sich die Ausrichtung des Geräts wesentlich ändert und den durch rotationResolution definierten Schwellenwert überschreitet.

Funktion AddDeviceListeners

virtual override void AddDeviceListeners()

Fügt dem Gerät Hörer hinzu.

Reimplements: Haply: :Inverse::Unity::CursorBehaviour::AddDeviceListeners

Überschrieben, um benutzerdefinierte Orientierungs-Listener hinzuzufügen.

Funktion RemoveDeviceListeners

virtual override void RemoveDeviceListeners()

Entfernt Hörer aus dem Gerät.

Reimplements: Haply: :Inverse::Unity::CursorBehaviour::RemoveDeviceListeners

Überschrieben, um benutzerdefinierte Orientierungs-Listener zu entfernen.

Geschütztes Eigentum Dokumentation

Eigenschaft IsUpdateCursorRequired

override bool IsUpdateCursorRequired;

Gibt an, ob die UpdateCursor-Methode beim nächsten FixedUpdate-Aufruf aufgerufen werden muss.

Diese Eigenschaft gibt true zurück, wenn eine Aktualisierung der Ausrichtung des Cursors erforderlich ist. Sie wird gesetzt, wenn eine signifikante Änderung der Ausrichtung des Geräts auftritt, die den durch rotationResolution definierten Schwellenwert überschreitet.

Öffentliche Attribute Dokumentation

Variable RotationResolution

float rotationResolution = 0.025f;

Die minimale Änderung der Ausrichtung, die erforderlich ist, um das GameObject zu drehen.

Bestimmt die Empfindlichkeit der Orientierungsaktualisierungen. Kleinere Werte führen zu häufigeren Aktualisierungen, während größere Werte zwar das Zittern reduzieren, aber die Reaktionsfähigkeit verringern.