Da wir im vorherigen Beitrag erfolgreich unser erstes Unity-Projekt für das Quest 2-Gerät erstellt haben, erhalten wir nun einen Einblick in eine der leistungsstärksten Funktionen, die Meta über die Presence Platform bietet.
Die Presence-Plattform soll ein Gefühl gemeinsamer Präsenz und Interaktion in Virtual-Reality-Umgebungen schaffen. Es ermöglicht Menschen, sich mithilfe von VR-Headsets in immersiven virtuellen Räumen zu verbinden, zu interagieren und miteinander in Kontakt zu treten.
Zu den Funktionen und Fähigkeiten der Präsenzplattform von Meta gehören:
Wie Sie sehen können, ist Presence Platform ein umfassender Satz von Subsystemen/Funktionen, und ich werde jedes davon im Detail behandeln, aber um zu beginnen – beginnen wir mit der Handverfolgung als einer der Grundvoraussetzungen für die Entwicklung von VR-Spielen – werden wir die Einrichtung einrichten Erstellen und starten Sie Hand-Tracking-Spielerlebnisse.
Ein perfekter Ausgangspunkt ist die Unity-FirstHand- Erfahrung, die von oculus-samples repo bereitgestellt wird.
Bitte lesen Sie auch hier den vorherigen Beitrag zum Einrichten der Entwicklungsumgebung und stellen Sie sicher, dass verschiedene Abhängigkeiten installiert sind.
Stellen Sie sicher, dass Git LFS installiert ist, und führen Sie diesen Befehl aus:
git lfs install
Klonen Sie dann das Repo mit dem „Code“, öffnen Sie es auf dem Github-Desktop und führen Sie den folgenden Befehl aus:
git clone https://github.com/oculus-samples/Unity-FirstHand.git
Alle eigentlichen Projektdateien befinden sich unter Assets → Projekt. Dieser Ordner enthält alle Skripts und Assets zum Ausführen des Beispiels, mit Ausnahme des Interaction SDK selbst. Das Projekt umfasst v41 des Oculus SDK, einschließlich Interaction SDK. Sie finden das Interaction SDK unter [Assets/Oculus/Interaction]{Assets/Oculus/Interaction).
Nachdem Sie alle erforderlichen Abhängigkeiten installiert und den Build für die Ausführung auf dem Quest-Gerät konfiguriert haben, erhalten Sie in Ihrem Editor etwas Ähnliches wie oben.
Gehen Sie zu Datei → Build-Einstellungen, wenn Sie einen Mac verwenden.
Wenn Sie den Anweisungen aus meinem vorherigen Beitrag gefolgt sind und Ihr Gerät angeschlossen haben, sollten Sie in den Build-Einstellungen Folgendes sehen:
Klicken Sie auf „Erstellen und ausführen“, geben Sie Unity einige Minuten Zeit zum Erstellen und warten Sie auf Meldungen, dass Ihre App auf dem verbundenen Quest-Gerät bereitgestellt wird.
Ich empfehle dringend, dass Sie mit diesem Beispiel experimentieren und versuchen, Komponenten und Skripte anzupassen, um zu lernen, wie es intern funktioniert. Um dies tun zu können, gehen Sie zum Abschnitt „Projekt“ Ihres Unity-Editors und erweitern Sie die Projektverzeichnishierarchie.
Wir werden LazerProjectile anpassen:
public class LazerProjectile : ActiveStateObserver { [SerializeField] Transform _target; [SerializeField] GameObject _effect; [SerializeField] float _rayCastDelay = 0.5f; [SerializeField] float _fadeOutTime = 0.1f; [SerializeField] float _delayBetweenShots = 0.5f; [SerializeField] AudioTrigger _chargeUp; [SerializeField, Optional] AudioTrigger _chargeUpComplete; protected override void Update() { base.Update(); Vector3 endPos = Vector3.Lerp(_target.position, transform.position + transform.forward * 20, 5 * Time.deltaTime); _target.position = endPos; } //...... }
Erhöhen wir die Ray-Cast-Verzögerung und testen wir die App auf dem Headset, indem wir sie austauschen
float _rayCastDelay = 0.1f;
Zu
float _rayCastDelay = 0.5f;
So funktioniert es!
Probieren Sie es selbst aus und teilen Sie mir mit, was Sie mithilfe der Handverfolgung erstellen möchten.