Pokémon GO Style Augmented Reality mit Vuforia

1. Einleitung

Dank des wilden Erfolges von Pokémon GO erhält Augmented Reality (AR) in der mobilen Entwicklungswelt viel Aufmerksamkeit. Die Idee der Augmented Reality ist nicht neu, aber erst jetzt steht die Technologie der Reife und der wirtschaftlichen Verwertbarkeit nahe. Aber was genau ist Augmented Reality?

Dies ist ein wirklich breites Konzept, das viele verschiedene Formen annehmen kann. Die Idee kann auf Unterhaltung, Wissenschaft, Militär, Bildung angewendet werden. Alle diese Anwendungen haben jedoch eine Echtzeitverbindung zwischen der physischen Welt und der digitalen Welt gemeinsam.  

Eine direkte oder indirekte Live-Ansicht einer physischen realen Umgebung, deren Elemente durch vom Computer erzeugte sensorische Eingaben wie Ton, Video, Grafik oder GPS-Daten ergänzt (oder ergänzt) werden. - Wikipedia

Konkret wird AR oft in interaktiven Erlebnissen verwirklicht, bei denen ein Kamera-Feed mit 2D- oder 3D-Objekten überlagert wird, die von einigen Sensordaten beeinflusst werden. 

Es kann jedoch eine echte Herausforderung sein, von Grund auf ein fesselndes Augmented Reality-Erlebnis zu schaffen. Glücklicherweise gibt es einige Lösungen, die diese Arbeit erleichtern. Eines der zuverlässigsten Augmented-Reality-Tools ist Vuforia, eine AR-Bibliothek, die mit Android, iOS, UWP und einigen Markenbrillen kompatibel ist. 

In diesem Tutorial werden wir die erweiterte Realität mit Vuforia erkunden. Wir werden die Funktionen, Möglichkeiten und Herausforderungen von Vuforia kennenlernen und einen Blick auf die Funktionsweise des SDK und seine Hauptfunktionen werfen. In diesem Tutorial werden wir keinen Code untersuchen. Zukünftige Tutorials dieser Serie werden sich in Vuforia mit der Kodierung beschäftigen, mit schrittweisen Anleitungen, die auf alle Hauptfunktionen der Bibliothek abzielen.

Wenn Sie tiefer graben möchten, lernen Sie in unserem kurzen Kurs eines der grundlegendsten Konzepte von AR, Markern, kennen:

2. Vuforia

Vuforia wurde ursprünglich von Qualcomm entwickelt und kürzlich von PTC gekauft. Es ist die sechste Version. Das SDK wird ständig weiterentwickelt und ist mit Android, iOS, UWP und Unity kompatibel. Leider ist Vuforia nicht Open Source, aber die Preisspanne ist vernünftig und es fallen keine Vorabkosten für Entwicklung oder Schulung an. Mit Vuforia können Sie nahezu jede Art von AR-Erlebnis auf den beliebtesten mobilen Plattformen erstellen. 

2.1. Wie funktioniert es?

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. Was Sie damit tun, hängt von Ihren Entwicklungszielen ab.

Es gibt mehrere Möglichkeiten:

  • Weltkoordinaten verwenden: Jede beliebige Art von Objekten kann durch willkürliche Referenzen gezeigt werden, wobei echte Hindernisse ignoriert werden, aber die ermittelte Weltlokalisierung berücksichtigt wird. Das Objekt kann außerhalb der Sicht sein und weiterhin an derselben Position "existieren". Dies ist ein System, das dem von Pokémon GO ähnelt.
  • Ziele erkennen: Vuforia kann als "Ziele" nach bestimmten Bildern suchen. VuMarks, beispielsweise ein QR-Code-Stilbild, das vom System in hohem Maße erkannt werden kann, kann als Ankerpunkte oder Referenzen für jegliche Art von in die Welt projizierten Objekten verwendet werden. Eine Zeitschrift könnte mit dieser Ressource "erweitert" werden, wobei ihre Seiten reichhaltige Interaktionen wie Videos, Audio usw. eröffnen.
  • Einfache Objekte erkennen: Einfache Objekte wie Boxen und Zylinder können erkannt und als Ankerpunkte verwendet werden. Diese Methode ist hilfreich, um Pakete zu erkennen und interaktiv zu gestalten.
  • Komplexe Objekte erkennen: Vuforia kann auch nach komplexen Objekten wie Spielzeug, Computerteilen, Gadgets usw. suchen. Diese Objekte werden zuvor gescannt, erfüllen bestimmte Anforderungen und können später vom System erkannt werden. Diese Funktionalität kann beispielsweise verwendet werden, um aus Spielzeug Lebewesen zu machen, oder um interaktive Unterstützung für Mechaniker oder Servicemitarbeiter zu schaffen.
  • Nach Worten suchen: Englische Wörter können auch von Vuforia verstanden werden. Das System kann nach bestimmten Wörtern suchen und darauf eine Art Interaktion ansprechen. Dies kann für Lernwerkzeuge für Kinder oder für die Übersetzung von Sprachen hilfreich sein.
  • Das Gelände der Welt erkennen: Eine der leistungsfähigsten Funktionen von Vuforia ist die Fähigkeit, die Welt so zu erkennen, wie sie ist. Vuforia ermöglicht es dem Benutzer, seine Umgebung zu scannen, und kann eine Hardcore-Verarbeitung durchführen, um die Welt zu interpretieren, indem eine 3D-Computervision der realen Welt und ihrer Objekte erstellt wird. Stellen Sie sich ein Pokémon GO-ähnliches Spiel vor, in dem sich die Pokémons hinter echten Objekten verstecken können. Wäre das nicht fantastisch?

2.2. Mit Vuforia entwickeln

Vuforia ist mit mehreren Systemen kompatibel. Die Software Development Kits (SDKs) sind für Android, iOS, UWP und Unity verfügbar. Nachdem Sie das SDK heruntergeladen und installiert haben, müssen Sie sich für ein Entwicklerkonto anmelden und einen App-Schlüssel erstellen, bevor Sie mit dem Code beginnen können.

Obwohl Vuforia mit vielen Systemen kompatibel ist, ist der einfachste Weg, mit dem SDK ein ansprechendes AR-Erlebnis zu erstellen, definitiv Unity. Verstehen Sie mich nicht falsch, Sie können auf fast alles zugreifen, was Vuforia bietet, wenn Sie direkt für Android oder iOS entwickeln. Der Prozess ist jedoch viel einfacher, wenn die Prefabs des SDK von Vuforia für Unity verwendet werden.

3. Vuforia-Ziele

Wie bereits erwähnt, kann Vuforia im Kamera-Feed nach Zielen suchen, um Ankerpunkte oder Referenzen für AR-Erlebnisse zu erstellen. Diese Ziele können viele Formen annehmen, und jede Datei, die zuvor vom Vuforia-Zielmanager verarbeitet wurde, kann erkannt werden. Ziele können vom Entwickler oder während der Ausführung vom Benutzer erstellt werden.

3.1

3.1. Bildziele

Jede Art von Bild kann ein Vuforia-Bildziel sein. Je detaillierter und komplexer das Bild ist, desto besser kann es vom Algorithmus erkannt werden. Eine Vielzahl von Faktoren wird Teil der Erkennungsberechnung sein. Grundsätzlich muss das Bild jedoch einen angemessenen Grad an Kontrast, Auflösung und Unterscheidungsmerkmalen aufweisen. Eine Fotografie mit blauem Himmel würde nicht sehr gut funktionieren, aber ein Bild von Gras würde gut funktionieren. Image-Ziele können mit der Anwendung ausgeliefert, später erstellt und über ein Cloud-System in die Anwendung hochgeladen oder vom Benutzer direkt in der App erstellt werden.

3.2. VuMarks

Ein VuMark funktioniert sehr ähnlich wie ein QR-Code. Es ist jedoch viel vielseitiger. Es kann viele Formen und Farben annehmen und sich an eine Vielzahl von Umgebungen anpassen. Sein größter Vorteil ist, dass es vollständig mit dem Erkennungsalgorithmus von Vuforia übereinstimmt und von jeder Vuforia AR-Anwendung leicht "gefunden" wird. Vuforia bietet auch ein Adobe Illustrator-Plugin an, das VuMarks erstellt.

3.3. Zylinder- und Würfelziele

Es ist auch möglich, Würfel und Zylinder als Bildziele zu verwenden. Dies ist sehr geeignet, um eine Bindung zu Produktpaketen herzustellen. Sobald das primitive Objekt erkannt wurde, wird es als Ankerpunkt verwendet. Es scheint für die Sicht des Computers auf dem Computer zu existieren, sodass virtuelle Objekte direkt mit dem primitiven Element interagieren können. Das virtuelle Objekt könnte zum Beispiel die Position und Orientierung des realen Objekts verfolgen.

3.4. Objekte als Ziele

Eine der interessantesten Funktionen von Vuforia ist die Möglichkeit, komplexe Objekte zu erkennen. Ein Spielzeug, ein Telefon, eine Computerplatine und andere Arten von Objekten können als Ziele verwendet werden. 

Um diese Ressource zu verwenden, müssen Sie das Objekt mit dem Vuforia Object Scanner-Tool scannen, das nur auf Samsung Galaxy S6 und S7 ausgeführt werden kann. Der Daten-Scan wird in Vuforia Target Manager hochgeladen und das gescannte Objekt wird von allen kompatiblen Geräten erkannt, die diese Daten verwenden.

3,5. Verwalten von Zielen

Es gibt mehrere Möglichkeiten, ein Ziel zu erstellen: 

  • Die Anwendung kann mit einer Reihe eingebetteter Ziele geliefert werden.
  • Die App kann Ziele online über das von Vuforia angebotene Cloud-System empfangen.
  • Der Benutzer selbst kann mit der Kamera des Geräts ein Ziel erstellen. 

Als Entwickler haben Sie nicht viel Kontrolle darüber, wie der Benutzer sein Ziel erstellt. Alles, was Sie tun können, ist, dem Benutzer einige Tipps zur Auswahl eines geeigneten Bildes als Ziel zu geben. Anders ist die Situation für die mit dem Target Manager verarbeiteten Ziele.

Das Entwicklerportal von Vuforia bietet uns das Target Manager-Tool zur Verwaltung aller Ziele unserer Apps. Der Manager ist sehr einfach zu verwenden: Sie erstellen eine Datenbank für die Ziele, laden eine Datei hoch, die einem Ziel entspricht, und warten, bis die Datei verarbeitet wird. Das Ziel erhält eine eindeutige ID und eine Bewertung in Bezug auf die Erkennbarkeit und wird dann Teil der Datenbank, die zum Download oder zur Speicherung in der Cloud zur Verfügung steht. 

Es gibt drei verschiedene Arten von Zieldatenbanken:

  • Gerätedatenbanken sind lokale Datenbanken von Bildern oder Objektzielen, die auf dem Gerät des Benutzers gespeichert sind.
  • VuMark-Datenbanken sind lokale Datenbanken von VuMarks, die auf dem Gerät des Benutzers gespeichert sind.
  • Cloud-Datenbanken sind Datenbanken von Image Targets, die online gespeichert und über das Internet abgefragt werden.

4. Smart Terrain

Bei der Entwicklung einer Vuforia-App für Unity gibt es eine wirklich aufregende Option, das Smart Terrain. Damit kann eine Anwendung 3D-Netze von Objekten replizieren, die von der Kamera gesehen werden. 

Der Vorgang funktioniert wie eine Art Scan, bei dem der Benutzer die Kamera des Geräts als 3D-Scanner verwendet. Während die Kamera durch die Umgebung scannt, erstellt die Anwendung 3D-Modelle der erkannten Objekte, wodurch die Anwendung die Möglichkeit hat, das Szenario an die reale Welt anzupassen und ein aufregendes Erlebnis zu schaffen.

5. Schlussfolgerung

Es gibt Hunderte von Möglichkeiten, um mit Augmented Reality zu erforschen, und wir fangen gerade an, die Oberfläche zu kratzen. Viele glauben, dass AR ein Teil unserer Zukunft sein wird und dass wir sie täglich einsetzen werden. Dies ist ein Bereich, der in den kommenden Jahren viel wachsen wird. Vuforia stellt uns coole Werkzeuge zur Verfügung, mit denen erlebnisreiche Erfahrungen machen können.

5.1 Was kommt als nächstes?

In den folgenden Tutorials dieser Serie werden wir mit einigen der wichtigsten Tools von Vuforia arbeiten. Wir werden viele kleine Experimente entwickeln, um die SDK-Fähigkeiten zu veranschaulichen. Da Unity die AR-freundlichste verfügbare Umgebung ist, wird alles darauf entwickelt. 

Es ist nicht notwendig, ein Unity-Experte zu sein, um die Tutorials zu befolgen. Da wir uns auf das Vuforia SDK konzentrieren, gebe ich Ihnen Schritt-für-Schritt-Anleitungen, die nur minimale Vorkenntnisse mit Unity erfordern.

Wenn Sie in der Zwischenzeit etwas mehr über Unity erfahren möchten, lesen Sie einige unserer anderen Tutorials.

  • Erstellen Sie ein Basketball-Freiwurfspiel mit Unity

    In diesem Lernprogramm erstellen Sie ein Basketball-Freiwurfspiel in Unity. Sie lernen 3D-Modelle, Mesh-Collider, Physikmaterialien, Kollisionserkennung,… kennen.
    Carlos Yanez
    Mobile Entwicklung
  • Erstellen einer 3D-Stadt in Unity 5

    Willkommen zu unserem Unity-Tutorial, in dem wir eine 3D-Stadt in der Unity 5-Spielengine erstellen. Sie können dieses Projekt für Ihre erste oder dritte Person verwenden.
    Sandra Gerber
    Unity 3D
  • Texteingabe für Spiele mit einer Intel RealSense-Kamera

    In diesem Beitrag werde ich erzählen, was ich über die besten (und schlechtesten!) Möglichkeiten gelernt habe, wie Spieler Text nur mit Gesten eingeben können und wie man den Intel aufbaut.
    Chris Skaggs
    Intel RealSense

Bis bald!