Im ersten Beitrag dieser Serie haben wir darüber gesprochen, wie großartig Vuforia für das Erstellen von Augmented Reality-Erlebnissen ist. Jetzt können wir diese Konzepte in einer tatsächlichen App üben. In diesem Tutorial beginnen wir mit Augmented Reality mit Vuforia on Unity 3D herumzuspielen. Wir lernen, wie man Vuforia einrichtet und ein AR-Spiel von Grund auf entwickelt, wobei eine ähnliche Logik verwendet wird wie bei Pokémon GO!
Es ist nicht erforderlich, über Erfahrungen mit Unity oder Vuforia zu verfügen, um dieses Lernprogramm zu befolgen.
Wenn Sie tiefer graben möchten, lernen Sie in unserem kurzen Kurs eines der grundlegendsten Konzepte von AR, Markern, kennen:
Vuforia verwendet den Kamera-Feed des Geräts in Kombination mit Beschleunigungsmessern und Gyroskopdaten, um die Welt zu untersuchen. Vuforia verwendet Computer Vision, um zu verstehen, was die Kamera "sieht", um ein Modell der Umgebung zu erstellen. Nach der Verarbeitung der Daten kann sich das System grob in der Welt befinden und seine Koordinaten kennen: Wo ist die Position nach oben, unten, links, rechts und so weiter.
Wenn Sie nicht wissen, worum es bei Vuforia geht, werfen Sie einen Blick auf den ersten Beitrag dieser Serie.
Dieses Tutorial besteht aus zwei Teilen. In diesem Abschnitt werden wir einige Besonderheiten von Vuforia in Unity 3D kennenlernen, lernen, wie Sie die Umgebung einrichten, und wir werden auch ein kleines AR-Spiel namens Shoot the Cubes entwickeln. Wir werden dem besonders Aufmerksamkeit schenken ARCamera Fertigteil, einer der wichtigsten Teile von Vuforia in Unity.
Im zweiten Teil werden wir das Shoot the Cubes-Spiel weiterentwickeln, Interaktivität hinzufügen und interessanter machen. Dieser Abschnitt wird nicht zu sehr auf die Besonderheiten von Vuforia eingehen. Die Idee besteht darin, einige Möglichkeiten zu erkunden, die Unity bietet, um eine faszinierende Augmented Reality-Erfahrung zu schaffen.
Unity ist eine beliebte und leistungsstarke Spiel-Engine, die einfach zu bedienen ist und Spiele für mehrere Plattformen zusammenstellen kann. Die Verwendung von Unity bietet einige Vorteile für die Erstellung von AR-Erfahrungen mit Vuforia. Es ist möglich, auf alle von Vuforia unterstützten Systeme, einschließlich der Smart Glasses, zu zielen. Dank der Prefabs des SDK von Vuforia ist es einfacher zu bedienen. Wenn Sie nur Unity verwenden, können Sie auf alle Funktionen von Vuforia zugreifen.
Sie können auf alle Funktionen von Vuforia in Unity über die Voreinstellungen von Vuforia zugreifen. Alles, was Sie tun müssen, ist das Objekt auf die Bühne zu ziehen und zu konfigurieren. Wie der Name vermuten lässt, sind Prefabs wie Vorlagen zum Erstellen und Klonen von Unity-Objekten mit Komponenten und Eigenschaften. Zum Beispiel die ImageTarget stellt Bilder dar, die als Ziele verwendet werden können. Schauen wir uns die Vuforia-Prefabs auf Unity an:
Das Spiel, das wir entwickeln werden, ist einfach, aber es veranschaulicht die Prinzipien der Augmented Reality gut und es wird uns einige Grundlagen von Vuforia vermitteln. Das Ziel des Spiels ist es, Würfel zu finden und zu schießen, die im Raum herumfliegen. Der Spieler sucht mit seinem Gerät nach Würfeln und tippt auf die Boxen. Wir kümmern uns nicht um Punkte, Level oder ähnliches, aber Sie können diese Aspekte des Spiels leicht selbst erweitern.
Bevor wir anfangen zu spielen, müssen wir Unity für Vuforia vorbereiten. Der Prozess ist ziemlich einfach, und wir müssen im Wesentlichen das SDK-Paket von Vuforia importieren und ein ARCamera Fertig für unser Projekt.
Es ist Zeit zu prüfen, ob die Umgebung ordnungsgemäß funktioniert.
Wenn sich auf Ihrem Computer eine Webcam befindet, können Sie die Wiedergabetaste von Unity drücken, um zu prüfen, ob ARCamera funktioniert. Mit der Webcam können Ziele erkannt werden. Es ist jedoch nicht möglich, Sensordaten zum Testen Ihrer AR-Erfahrung zu verwenden. Wenn der Kamera-Feed nicht angezeigt wird Spiel In diesem Fenster besteht die Möglichkeit, dass Ihre Kamera nicht mit dem Webcam-Profil von kompatibel ist ARCamera.
Die beste Möglichkeit, Ihre Vuforia-Anwendung zu testen, ist direkt auf dem Gerät. Wir werden das Projekt für Android kompilieren, aber die gleichen Schritte würden für iOS-Geräte gelten.
Nach dem Aufbau wird die Anwendung auf Ihrem Gerät installiert. Im Moment sollten Sie nur erwarten, dass die Kamera ohne Fehler auf Ihrem Gerät angezeigt wird. Wenn Sie das haben, hat alles richtig funktioniert.
Das Ziel des Spiels Shoot the Cubes besteht darin, fliegende Würfel mit der Kamera und den Sensoren des Geräts zu suchen und zu schießen. Dieser Ansatz ähnelt dem von Pokémon GO. Um dies zu erreichen, müssen wir nur die Vuforia verwenden ARCamera vorgefertigt.
Dem Skript sind viele Skripte beigefügt ARCamera. Die einzige, die Sie verstehen müssen, ist die Vuforia Verhalten Skript. Schauen wir uns die Optionen an:
Für jetzt alles, was Sie in der ändern müssen ARCamera ist der Word Center-Modus. Klicke auf das ARCamera Element in der Hierarchie und in der Inspektor Bereich, ändern Sie die World Center-Modus zu DEVICE_TRACKING.
Fügen Sie der Bühne einen Würfel hinzu und testen Sie, ob die ARCamera ordnungsgemäß funktioniert.
Sie müssen sich umsehen, indem Sie Ihr Gerät drehen, um den Würfel zu finden. Sie werden bemerken, dass das Objekt an der gleichen Stelle bleibt, auch wenn Sie das Gerät wegdrehen. Es ist, als ob der Würfel in der realen Welt 'existiert', aber nur mit der Gerätekamera sichtbar ist.
Das erste Problem mit unserer Anwendung ist bisher, dass der Cube an einer beliebigen Stelle erscheinen kann und der Benutzer sich umsehen muss, um ihn zu finden. Da der Mittelpunkt der Welt anhand der Sensoren des Geräts definiert wird, können wir nicht sicher sein, wo sich die Elemente tatsächlich befinden. Dies liegt daran, dass der Benutzer mit dem Gerät in einer beliebigen Richtung beginnen kann und weil die Art und Weise, wie die Rotation gemessen wird, von Gerät zu Gerät variiert.
Um sicherzustellen, dass die AR-Entitäten aus Sicht des Benutzers beginnen, ist es am einfachsten, darauf zu warten, dass Vuforia den Mittelpunkt der Welt definiert und den ARCamera drehen und dann die Startposition der Elemente entsprechend dieser Ausrichtung festlegen.
Wir schaffen eine Spawn-Manager um die Position der zu erzeugenden Würfel festzulegen. Der Manager legt seine Position gemäß fest ARCamera Drehung. Es wird gewartet, bis die Drehung eingestellt ist, und bewegt sich dann 10 Einheiten vor die Kamera.
Zuerst fügen wir das Vuforia-Paket hinzu.
mit UnityEngine; using System.Collections; // Wir müssen das Paket Vuforia verwenden, um sicherzustellen, dass // alles mit Vuforia funktioniert. öffentliche Klasse SpawnScript: MonoBehaviour
Zugreifen ARCamera, benutzen Camera.main
. Erstellen Sie eine Funktion, um die Kameraposition zu ermitteln, und legen Sie den Würfel so fest, dass er von diesem Punkt aus um 10 Einheiten nach vorne gerückt wird.
public class SpawnScript: MonoBehaviour // Definiere die Position, wenn das Objekt // entsprechend der ARCamera-Position private bool SetPosition () // die Kameraposition abrufen soll. Transformieren cam = Camera.main.transform; // Stelle die Position 10 Einheiten von der Kameraposition aus nach vorne um. transform.position = cam.forward * 10; wahr zurückgeben;
Wir werden die Position nur einmal vom ändern Start
Funktion. Position ändern
ist eine Coroutine, die ein wenig warten muss, bevor die Position eingestellt wird.
private bool mPositionSet; void Start () // Definieren der Laichposition StartCoroutine (ChangePosition ()); // Wir werden eine Coroutine verwenden, um eine kurze // Verzögerung einzugeben, bevor die Position festgelegt wird. Private IEnumerator ChangePosition () Ausbeute zurückgeben new WaitForSeconds (0.2f); // Definiere die Spawn-Position nur einmal, wenn (! MPositionSet) // die Position nur ändern, wenn Vuforia aktiv ist, wenn (VuforiaBehaviour.Instance.enabled) SetPosition ();
Lassen Sie uns das Skript testen:
Die Elemente beginnen sich überlappend; Sobald Sie jedoch die Anwendung auf einem Gerät erstellt und ausgeführt haben, sehen Sie das _SpawnController und seine Kugel erscheint vor der Kamera, und der Würfel befindet sich an einem anderen Ort. Probier es aus! Stellen Sie sicher, dass Sie das Gerät direkt beim Start der App betrachten.
Herzlichen Glückwunsch, Sie haben Ihre erste Augmented Reality-Erfahrung erstellt. Ja, es ist ein bisschen grob, aber es funktioniert! In diesem Lernprogramm haben Sie gelernt, wie man die Hauptfertigungsfläche von Vuforia in Unity verwendet, die ARCamera. Sie haben auch gelernt, wie Sie es konfigurieren und wie Sie die Gerätesensoren verwenden, um die Illusion zu erzeugen, dass ein virtuelles Objekt in die Welt eingefügt wird.
Im nächsten Tutorial werden wir dieses Prinzip verbessern, um ein echtes Spiel und eine einnehmendere Erfahrung zu schaffen. Wir werden das Shoot the Cubes-Spiel weiterentwickeln, Interaktivität hinzufügen und die Möglichkeiten von Unity erkunden, um ein interessantes AR-Spiel zu erstellen. Wir bringen die Würfel zum Laichen und fliegen herum, und wir lassen den Spieler suchen und zerstören, indem er einen Laser aus dem Gerät schießt.
Bis bald!
Besonderer Dank für die Von Freepik entworfener Bildvektor, lizenziert unter Creative Commons CC BY-SA.