Inverse3 - und VerseGrip-Cursor
Das „ Haply “-Inverse-Unity-Paket führt spezielle Cursor-Komponenten für die Geräte „ Inverse3 “ und „VerseGrip“ ein, die eine präzise Steuerung und Interaktion in Unity-Umgebungen ermöglichen. Diese Komponenten – „ Inverse3 -Cursor“ und „VerseGrip-Cursor“ – sind darauf ausgelegt, die Position und Drehung von Spielobjekten dynamisch anhand der Daten anzupassen, die von den entsprechenden Gerätecontrollern stammen.
Überblick
Die Cursor-Komponenten dienen als Brücke zwischen den physischen Geräten Haply und den virtuellen Spielobjekten in Unity, indem sie die Positions- und Rotationsdaten der Geräte in Bewegungen und Ausrichtungen der Spielobjekte umsetzen. Diese Umsetzung ermöglicht es den Nutzern, intuitiv mit der virtuellen Umgebung zu interagieren, indem ihre physischen Bewegungen durch virtuelle Reaktionen widergespiegelt werden.
Klasse „CursorBase“
Im Zentrum der Cursor-Komponenten steht die Klasse CursorBase, das die grundlegenden Funktionen bereitstellt, die von Inverse3Cursor et VerseGripCursor.
Dazu gehören die Verwaltung der Assoziation mit dem Gerät, die Instanziierung des Modells und die Steuerung der Sichtbarkeit.
Wichtige Eigenschaften und Methoden
- Gerät: Ordnet den Cursor dem Gerät zu, das ihn steuert; wird bei der Ausführung automatisch festgelegt.
- ModellPrefab : Legt ein vorgefertigtes Element (Prefab) für das Cursor-Modell fest, das automatisch als untergeordnetes Element von
ModelParent. - ModelParent: Legt die übergeordnete Transformation des instanziierten Modell-Prefabs fest. Ist kein Wert definiert, wird standardmäßig die Transformation des Cursors verwendet.
- Modell : Verweist direkt auf ein in der Szene vorhandenes Cursor-Modell. Ist dieses Feld definiert, wird die Instanzierung von
ModelPrefabwird ignoriert. - HideControllerModel: Steuert die Sichtbarkeit des Cursor-Modells, sodass dieses je nach den Anforderungen des Spiels dynamisch ein- oder ausgeblendet werden kann.
- Radius: Stellt den Radius des Cursor-Modells dar, sofern es sich um eine Kugel handelt, berechnet anhand der Grenzen des Netzes (Mesh) des Modells.
- Glattheit :
PositionSmoothnessetRotationSmoothnessbieten Optionen zur Glättung der Position und Drehung des Cursors, was die Benutzererfahrung verbessert.
Hinweis: Eine korrekte Referenzierung des Cursor-Modells in der Cursor-Komponente ist unerlässlich, um unerwartetes Verhalten zu vermeiden.

Das mit dem Haptic Rig erstellte Standard-Cursor-Modell verfügt über farbige Punkte, die die drei Achsen darstellen: Vorne (blau), Oben (grün) und Rechts (rot). Dieses Design erleichtert die Visualisierung der Ausrichtung des Geräts in der virtuellen Umgebung. Bei einem kalibrierten VerseGrip muss „Vorne“ auf die Zeigerichtung und „Oben“ auf die Oberseite ausgerichtet sein.
Schieberegler-Komponente Inverse3
Inverse3Cursor ist für das Gerät „ Inverse3 “ vorgesehen und aktualisiert die lokale Cursorposition in Unity, um die physische Position des Geräts widerzuspiegeln.
Der Parameter PositionSmoothness ermöglicht die Anpassung der Bewegungsglättung des Cursors, was das Benutzererlebnis verbessert, indem die Reaktionsfähigkeit des Cursors auf physische Bewegungen gesteuert wird.
VerseGrip-Schieberegler
VerseGripCursor Erweitert die Funktionen auf das VerseGrip-Gerät, indem die Cursor-Drehung in Unity aktualisiert wird, um die physikalische Drehung des Geräts widerzuspiegeln.
Der Parameter useDeviceLocalSpace ermöglicht es, die Ausrichtung des Cursors entweder anhand der Weltausrichtung oder anhand der Ausrichtung des übergeordneten Objekts festzulegen, was eine größere Flexibilität bei der Gestaltung bietet.
Der Parameter RotationSmoothness Steuert die Glättung der Cursorrotation und ermöglicht es Entwicklern, die Reaktionsfähigkeit des Cursors auf Änderungen der physischen Ausrichtung des VerseGrip fein abzustimmen.
Implementierungsdetails
Bei der Initialisierung instanziieren die Cursor-Komponenten den ModelPrefab angegeben als Kind von ModelParent si Model ist nicht zugewiesen, was eine visuelle Darstellung in der Szene gewährleistet.
Diese Komponenten synchronisieren sich mit ihren Geräteprüfer Partnern, indem die Position und Drehung des Cursors in Echtzeit an die physischen Bewegungen des Geräts angepasst werden.
Beide Komponenten können an dasselbe GameObject angehängt werden, um dessen Position und Rotation zu steuern, oder an separate GameObjects für unterschiedliche Anwendungsfälle – so steht Entwicklern ein vielseitiges Werkzeug zur Verfügung, um in Unity immersive haptische Erlebnisse zu schaffen.