Augmented Reality mit Unity3D

  • 04.12.2016

 

 

Augmented Reality hat in letzter Zeit für immer größere Aufmerksamkeit gesorgt. Viele neue Apps und Spiele greifen auf Augmented Reality Elemente zurück, wie beispielsweise Pokémon Go. 

Um Augmented Reality mit der Unity3D Engine erstellen zu können, benötigst du das Software Development Kit von Vuforia. Unter https://developers.vuforia.com kannst du dir das kostenlose SDK herunterladen. Für Unity bietet der Hersteller Qualcomm eine spezielle Version an, also hier darauf achten, dass du das Unity Package auswählst. Ein Benutzerkonto bei Vuforia ist notwendig, aber nicht kostenpflichtig. Nach dem Herunterladen des Vuforia Unity Software Development Kit kannst du das komplette Unity Package in dein Projekt importieren.

Verwendung von Vuforia 6.2 (aktuelle Version)



AR-Kamera

Im ersten Schritt fügst du das ARCamera Prefab aus dem Vuforia/Prefabs Ordner zu deiner Scene hinzu. Im Inspector erscheint innerhalb des Vuforia Behaviour Scripts  ein Bereich für den Lizenzschlüssel deiner App. Hierzu musst du dir in dem Dashboard bei Vuforia einen eigenen Schlüssel anlegen damit dieser in der Applikation verifiziert werden kann.

Lizenzmanagement

Develop < License Manager < Add License. Hier wählst du Development aus, damit fürs Erste keine kosten Entstehen und du das Vuforia SDK in Unity3D testen kannst. Deinen App-Namen eingeben und den Schlüssel erstellen. Danach kannst du über den gewählten Namen auf die App zugreifen und somit auch den Schlüssel für dein Unity Projekt und somit auch das ARCamera Prefab mit dem Schlüssel ausstatten.

Zielobjekt

Damit du dein virtuelles Objekt auf später auf ein Objekt aus der Realität projizieren kannst, benötigst du ein Bild deines Gegenstands aus der Realität. Wir haben für unseren Test eine Ein-Dollar-Note verwendet. 

Datenbank erstellen

Sobald du dein Objekt aus der Realität als Bild auf deinem Computer zur Verfügung hast, kannst du im Dashboard bei Vuforia ein neuen Eintrag in der Datenbank erstellen. Hierzu klickst du auf Develop < Target Manager. Über den Button “Add Database” erstellst du eine neue Datenbank für dein Unity3D Projekt. Der Datenbank gibst du einen Namen und wählst den entsprechenden Typen. 

Objekt zur Datenbank hinzufügen

Wenn den Zielobjekt ein einzelnes Bild ist, dann wählst du single Image und gibst dem Objekt einen Namen. Achte bei der Vergabe des Namens auf die vorgegeben Zeichen. Über den Add-Button schließt du den Prozess ab und dein Bild wird hochgeladen und automatisch durch Vuforia analysiert. Über den Show Features Button kannst du dir die einzelnen Marker, die durch die Bilderkennung gesetzt wurden anzeigen lassen. 

Marker

Als Marker oder auch gerne innerhalb von Vuforia Targets genannt, eignen sich vor allem QR-Codes. Den von uns verwendeten QR-Code kannst du hier kostenfrei herunterladen und in dein Projekt einbinden.

Bild in Projekt einfügen

Da du nun dein Objekt innerhalb der Vuforia Datenbank analysiert hast, kannst du jetzt auch aus dem Vuforia/Prefabs Ordner das ImageTarget Prefab einfügen. Genau auf dieses Prefab wirst du dann deinen Eintrag in der Datenbank auswählen. Zum aktuellen Zeitpunkt hast du aber deine Datenbank noch nicht in dein Unity3D Projekt importiert.

Datenbank in Unity importieren

Über Development < Target Manager lässt sich die Datenbank herunterladen. Hierbei darauf achten, dass du beim Download auch den Auswahlpunkt “Unity Editor” wählst. Die Daten werden dann als Unitypackage heruntergeladen und können im nächsten Schritt in dein Projekt importiert werden. 

Virtuelles Objekt auf Bild projizieren

Im letzten Schritt kannst du nun ein 3D-Objekt deiner Wahl direkt auf dem Geldschein platzieren und somit wird die App dann genau dieses 3D-Objekt auf das in der Datenbank hinterlegte Bild projiziert.

Fehlerhafte Darstellung beheben

Der im Unity Editor angezeigt Marker kann durchaus fehlerhaft sein. Dies lässt sich aber schnell und einfach über die Datenbank innerhalb von Unity beheben. Begebe dich dazu in den Ordner Editor/QCAR/ImageTargetTextures/ hier ist der Ordner mit den Markern zu finden. Selektiere deinen gewünschten Marker und klicke im Inspector auf das Zahnrad und wähle Reset. Im Anschluss das ImageTarget in der Hierarchie selektieren und schon ist der Marker wieder sichtbar.

 

Export als Android App

Verwendung von Vuforia Version 6.1 (veraltet)

Weiterführende Links