Zum Hauptinhalt springen
Version: 2.2.0

Inverse3 und VerseGrip Cursors

Das Haply Inverse Unity Package 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 so konzipiert, dass sie die Position und Drehung von Spielobjekten dynamisch auf der Grundlage der Daten von den entsprechenden Device Controllern anpassen.

Übersicht

Cursor-Komponenten fungieren als Brücke zwischen den physischen Haply Geräten und den virtuellen Spielobjekten in Unity, indem sie die Positions- und Rotationsdaten der Geräte in Bewegungen und Ausrichtungen der Spielobjekte übersetzen. Diese Übersetzung ermöglicht es den Benutzern, auf intuitive Weise mit der virtuellen Umgebung zu interagieren und ihre physischen Bewegungen mit virtuellen Reaktionen zu spiegeln.

CursorBehaviour-Basisklasse

Das Herzstück der Cursor-Komponenten ist die CursorBehaviour Klasse, die die grundlegenden Funktionen bietet, die sowohl von Inverse3Cursor und VerseGripCursor. Dazu gehören die Verwaltung der Gerätezuordnung, die Modellinstanziierung und die Sichtbarkeitskontrolle.

Wichtige Eigenschaften und Methoden

  • Gerät: Verknüpft den Cursor mit seinem steuernden Gerät, das zur Laufzeit automatisch eingestellt wird.
  • ModellPrefab: Gibt eine Voreinstellung für das Cursormodell an, das automatisch als untergeordnetes Element der Komponente "Cursor" instanziiert wird. ModelParent.
  • ModelParent: Legt die übergeordnete Transformation für die instanziierte Modellvorlage fest. Wenn nicht festgelegt, wird standardmäßig die Transformation des Cursors verwendet.
  • Modell: Verweist direkt auf ein vorhandenes Cursor-Modell in der Szene. Wenn gesetzt, umgeht es die Instanziierung von ModelPrefab.
  • HideControllerModel: Steuert die Sichtbarkeit des Cursor-Modells und ermöglicht dynamische Ein- und Ausblendvorgänge je nach den Anforderungen des Spiels.
  • Radius: Stellt den Radius des Cursor-Modells dar, wenn es sich um eine Kugel handelt, berechnet aus den Maschengrenzen des Modells.

Hinweis: Die korrekte Referenzierung des Cursor-Modells in der Cursor-Komponente ist entscheidend, um unerwartetes Verhalten zu vermeiden.

Cursors

Das Standard-Cursor-Modell, das mit dem Haptic Rig erstellt wurde, enthält farbige Punkte, die die drei Achsen darstellen: Vorwärts (blau), Aufwärts (grün) und Rechts (rot). Dieses Design hilft bei der Visualisierung der Ausrichtung des Geräts innerhalb der virtuellen Umgebung. Bei einem kalibrierten VerseGrip sollte Vorwärts mit der Zeigerichtung und Aufwärts mit der Oberseite übereinstimmen.

Inverse3 Cursor-Komponente

Inverse3Cursor richtet sich speziell an das Gerät Inverse3 und aktualisiert die lokale Position des Cursors in Unity, um die physische Position des Geräts wiederzugeben.

Die PositionSmoothness ermöglicht die Anpassung der Bewegungsgeschwindigkeit des Cursors und verbessert die Benutzerfreundlichkeit durch die Steuerung der Reaktionsfähigkeit des Cursors auf physische Bewegungen.

VerseGrip Cursor-Komponente

VerseGripCursor erweitert die Funktionalität auf das VerseGrip-Gerät und aktualisiert die Drehung des Cursors in Unity, um die physische Drehung des Geräts widerzuspiegeln.

Die useDeviceLocalSpace ermöglicht die Wahl der Cursorausrichtung zwischen Welt- und übergeordneter Objektausrichtung, was die Designflexibilität erhöht.

Die RotationSmoothness steuert die Rotationsgeschwindigkeit des Cursors und ermöglicht es Entwicklern, die Reaktion des Cursors auf physische Änderungen der VerseGrip-Ausrichtung fein abzustimmen.

Details zur Umsetzung

Bei der Initialisierung instanziieren die Cursorkomponenten die angegebene ModelPrefab als ein Kind von ModelParent wenn Model nicht zugewiesen ist, um die visuelle Darstellung in der Szene zu gewährleisten. Diese Komponenten synchronisieren sich mit ihren zugehörigen Gerätesteuerungenund passt die Position und Drehung des Cursors in Echtzeit an die Bewegungen des Geräts an.

Beide Komponenten können mit demselben GameObject verbunden werden, um dessen Position und Rotation zu steuern, oder mit separaten Objekten für unterschiedliche Anwendungsfälle. Damit steht Entwicklern ein vielseitiges Toolset für die Erstellung immersiver haptischer Erlebnisse in Unity zur Verfügung.