Inverse3 Mit dem VerseGrip-Cursor
Haply Das „Inverse Unity Package“ führt Cursor-Komponenten ein, die speziell für die Geräte „ Inverse3 “ und „VerseGrip“ entwickelt wurden und eine präzise Steuerung und Interaktion in der Unity-Umgebung ermöglichen. Diese beiden Komponenten – der „Inverse3 -Cursor“ und der „VerseGrip-Cursor“ – dienen dazu, die Position und Drehung von Spielobjekten dynamisch anhand der von den jeweiligen Gerätecontrollern gelieferten Daten anzupassen.
Überblick
Die Cursor-Komponente fungiert als Brücke zwischen dem physischen Gerät „ Haply “ und den virtuellen Spielobjekten in Unity und wandelt die Positions- und Rotationsdaten des Geräts in die Bewegung und Ausrichtung der Spielobjekte um. Diese Umwandlung ermöglicht es dem Benutzer, auf intuitive Weise mit der virtuellen Umgebung zu interagieren, indem seine physischen Bewegungen durch virtuelles Feedback abgebildet werden.
Klasse „CursorBase“
Das Herzstück der Cursor-Komponente ist CursorBase Klasse, die Folgendes bereitstellt: Inverse3Cursor und VerseGripCursor Grundlegende Funktionen für die gemeinsame Nutzung.
Dazu gehören die Verwaltung von Gerätezuordnungen, die Modellinstanziierung und die Sichtbarkeitssteuerung.
Wichtige Eigenschaften und Methoden
- Gerät: Verknüpft den Cursor mit dem zugehörigen Steuergerät und nimmt die Einstellung automatisch zur Laufzeit vor.
- ModellPrefab: Legt das Prefab fest, das für das Cursor-Modell verwendet wird; dieses Prefab wird automatisch als
ModelParentdie Unterobjekte instanziieren. - ModelParent: Definiert die übergeordnete Transformation (Transform) des instanziierten Modell-Prefabs. Wenn keine Angabe erfolgt, wird standardmäßig die Transformation des Cursors verwendet.
- Modell: Direktes Verweisen auf bereits in der Szene vorhandene Cursor-Modelle. Wenn diese Option aktiviert ist, wird der Schritt übersprungen.
ModelPrefabdie Instanziierung. - HideControllerModel: Steuert die Sichtbarkeit des Cursor-Modells, das je nach den Anforderungen des Spiels dynamisch ein- oder ausgeblendet werden kann.
- Radius: Wenn es sich bei dem Cursor-Modell um eine Kugel handelt, gibt dieser Wert den Radius an, der anhand des Umhüllungskastens des Modells berechnet wird.
- Glattheit:
PositionSmoothnessundRotationSmoothnessEs stehen Optionen zur Verfügung, mit denen die Cursorposition und -drehung sanft angepasst werden können, um die Benutzerfreundlichkeit zu verbessern.
Hinweis: Es ist äußerst wichtig, das Cursor-Modell in der Cursor-Komponente korrekt zu referenzieren, da es andernfalls zu unerwartetem Verhalten kommen kann.

Das mit dem Haptic Rig erstellte Standard-Cursor-Modell verfügt über farbige Punkte, die jeweils eine der drei Achsen darstellen:„Forward“(blau),„Up“(grün) und „Right“(rot). Dieses Design ermöglicht eine intuitive Orientierung des Geräts in der virtuellen Umgebung. Bei einem kalibrierten VerseGrip sollte„Forward“ in Richtung der Ausrichtungsachse und„Up“ in Richtung der Oberseite ausgerichtet sein.
Inverse3 Cursor-Komponente
Inverse3Cursor Speziell für Geräte mit „ Inverse3 “ entwickelt: Aktualisiert die lokale Position des Cursors in Unity, um die tatsächliche physische Position des Geräts widerzuspiegeln.
PositionSmoothness Mit dieser Einstellung lässt sich die Geschmeidigkeit der Cursorbewegung anpassen, wodurch die Benutzererfahrung verbessert wird, indem die Reaktionsgeschwindigkeit des Cursors auf physische Bewegungen gesteuert wird.
VerseGrip Cursor-Komponente
VerseGripCursor Erweitern Sie die Funktionalität auf VerseGrip-Geräte und passen Sie die Drehung des Cursors in Unity so an, dass sie die tatsächliche physikalische Drehung des Geräts widerspiegelt.
useDeviceLocalSpace Mit dieser Einstellung können Sie festlegen, ob der Cursor an den Weltkoordinaten oder an der Ausrichtung des übergeordneten Objekts ausgerichtet werden soll, wodurch die Flexibilität beim Entwerfen erhöht wird.
RotationSmoothness Legt die Glättung für die Cursorrotation fest, sodass Entwickler die Reaktionsgeschwindigkeit des Cursors auf Änderungen der physischen Ausrichtung des VerseGrip feinabstimmen können.
Implementierungsdetails
Bei der Initialisierung, falls nicht zugewiesen Model, die Cursor-Komponente übernimmt die angegebene ModelPrefab als ModelParent die Unterobjekte instanziieren, um deren visuelle Darstellung in der Szene sicherzustellen.
Diese Komponenten werden mit den ihnen zugeordneten Gerätesteuerung Die Position und Drehung des Cursors werden synchronisiert und in Echtzeit angepasst, um den physischen Bewegungen des Geräts zu folgen.
Die beiden Komponenten können entweder an dasselbe GameObject angehängt werden, um dessen Position und Drehung gleichzeitig zu steuern, oder separat an verschiedene Objekte, um unterschiedlichen Anwendungsszenarien gerecht zu werden. Damit bieten sie Entwicklern in Unity ein vielseitiges Werkzeugset zur Erstellung immersiver haptischer Erlebnisse.