Eigene AR App mit Vuforia: So geht´s!

Eigene AR App mit Vuforia: So geht´s!

 

In den letzten Beiträgen ging es eher darum wie man relativ einfach seine eigenen 3D Modelle
mithilfe von Unity mit der Samsung Gear VR oder Cardboard Systemen anschauen kann.Heute beschäftigen wir uns mit der anderen Seite. Wir bauen uns eine eigene AR App für unser Android Handy um später unsere eigenen 3D Modelle visualizieren zu können.

Wer nicht weiß was Argumented Reality ist, der kann sich hier auf Wikipedia schlau machen. Dank Pokemon Go sollten aber die meisten wissen um was es sich handelt.

Was wir dafür benötigen:

 

  1. ein Vuforia Account
  2. Unity
  3. 3D Modell als .fbx oder .obj File

 

1.  Vuforia Account

 

Vuforia stellt uns kostenlos für die private Nutzung ein SDK für Unity, welches Prefabs wie eine ARCamera sowie ein ImageTarget enthält, zur Verfügung.

Ebenfalls bietet uns Vuforia eine Möglichkeit schnell und einfach Marker (ein Bild mit signifikaten Geometrien, zum Erkennen der Lage im Raum) in Unity zu implementieren. Damit besitzen wir alles was wir benötigen um zu starten.

Das Unity SDK bekommt ihr hier. Ladet euch den Download für Unity herunter.

Um den Marker zu erstellen registriert euch bitte hier.

Nach erfolgreicher Registrierung, loggt euch bitte ein und navigiert dann zu den Developer Tools die ihr hier findet

 

Dort klickt auf Add Licence Key

Im ersten schritt wählt ihr Development aus. Danach wird die Eingabe für die Projekt Details freigechaltet. Dort tragt ihr den Namen eurer App ein, in meinem Fall ist da AR_DEMO.
Im nächsten Schritt setzt ihr den Haken bei Confirm.. und im Anschluss wurde euer Lizenzkey für eure App erzeugt.

Nun wechselt zum Target Manager

Klickt dort auf Add Database und tragt ebenfalls den Namen eurer App ein, wählt als Typ Device und klickt auf Create. Nun sollte bei euch die Database angelegt worden sein. In meinem Fall ist das AR_DEMO

Das sollte nun so in etwa aussehen.

Jetzt wählt ihr die gerade eben erzeugte Database aus in dem ihr darauf klickt.
Um nun einen Marker/Target zu definieren müssen wir auf Add Target klicken.

Dass nächste Fenster zeigt relativ selbsterklärend die Geometrymöglichkeiten eines Markers, wir beschränken uns hier auf den Typ „Single Image“.

Ein Marker ermöglicht uns anhand eines Bildes mit einer signifikanten Geometry die Lage im Raum zu bestimmen und unser 3D Modell an der richtigen Stelle darzustellen.

bei Width tragen wir einen relativ kleinen Wert von 10 ein

bei Name tragen wir einen Namen für das Bild ein der noch nicht existiert. In meinem Fall „Maze“, da dass Bild das ich verwende einem Irrgarten ähnelt.

Wählt nun euer Bild aus und klickt auf Add. Euer Target sollte nun erfolgreich erstellt worden sein. Falls nicht prüft bitte folgendes.

Euer Bild darf:

  • max 2 mb groß sein
  • Format .jpg oder .png besitzen
  • muss 8bit oder 24bit sein
  • .jpg Bilder dürfen nur in RGB Farben oder Graustufen sein.

Habt ihr alles richtig gemacht sollte es so aussehen.

 

Zum Schluss klickt auf der rechten Seite noch auf Download Database und wählt im aufkommenden Fenster Unity Editor aus.

2. Unity

 

Startet ein neues Projekt.

Im Editor angekommen, löscht ihr als erstes eure Main Camera in der Hierachy. Klickt nun oben auf

Assets –> Import Package –> Custom Package

Wählt dort euer Vuforia package aus, welches Ihr euch im ersten Schritt von der Vuforia Seite heruntergeladen habt.

Ebenfalls importiert ihr euer Databasepackage aus Schritt 1.

Am Ende sollte alles importiert worden sein und in euerem Project Browser sollten einige Assets angelegt worden sein

Nun fügt die AR Camera aus den Assets

Assets –> Vuforia –> Prefabs –> ARCamera

zu eurer Hierachy hinzu. klickt nundas Objekt in der Hierachy an und wählt im Inspector bei World Center Mode „Device Tracking“.

Jetzt klickt ihr auf Open Vuforia configuration. Fügt oben bei App LIcence Key euren Lizenzkey ein, den ihr von der Vuforia Seite im

LIzenzmanager -> Klick auf eure App

herauskopieren könnt.

Gesagt getan!

Unterhalb müssen wir noch folgende Einstellungen vornehmen

Bei Datasets setzen wir den Haken auf Load „AR_DEMO“ Database. Wobei AR_DEMO natürlich bei euch abweichen kann, je nachdem wie eure Datenbank bei Vuforia heisst. Danach aktivieren wir die Datenbank in dem wir bei Activate noch einen Haken setzen.

Camera Direction stellen wir auf Camera_Back, da wir in unserem Fall später die Back Camera des Handies verwenden wollen.

Fügt nun aus den Prefabs euer ImageTarget Objekt zu der ARCamera hinzu, wichtig dabei ist dass das Imagetarget ein Kind von ARCamera sein muss. Klickt auf das ImageTarget Objekt in der Hierachy und wählt bei Database eure Datenbank aus. Das zugehörige Image Target sollte auch schon ausgewählt sein. Ansonsten bitte unten drunter wählen. Wer möchte kann noch den Haken bei Enable Extended Tracking aktivieren. Dies aktiviert die Funktion, dass selbst bei Entfernen des Markers, dass 3D Modell an der Position bleibt. Wir verzichten aber auf diese Funktion in unserem Tutorial.

Jetzt sollte das so aussehen

Eigentlich sollte nun das Bild, welches ihr als Marker verwendet, auf der Fläche zu sehen sein. In meiner Version von Unity (5.6.0f3) und Win 10-64 bit, wird das Bild nicht dargestellt. Es sollte aber dennoch funktionieren.

3. 3D Modell importieren

Jetzt können wir unser 3D Modell importieren- Das 3D Modell können wir als .obj oder .fbx Format importieren. Achtet bittet darauf das der Nullpunkt des Modells korrekt ist, Alternativ liegt das Modell nach dem Einfügen irgendwo im Raum. Für den Import klicken wir auf

Assets –> Import New Asset und wählen unser Modell aus. Nachdem es unter Assets im Projectbrowser importiert worden ist, können wir es verwenden.

WIr ziehen unser Modell in die Hierachy unter das ImageTarget Objekt

Als vorletzten Schritt müssen wir noch das Modell etwas positionieren und skalieren. Verschiebt euer Imagetarget so, dass euer Kegel der Camera das 3D Modell und die Fläche des Markers umschließt.

Nun können wir das Projekt und die Scene speichern und uns dem Buildvorgang widmen.

Durch klick auf File –> Save Project bzw. File –> Save Scene as… werden Projekt und Scene gespeichert.

Zu guter letzt klicken wir auf File –> Build Settings,

switchen zu Android Platform, fügen die aktuell Scene hinzu durch klick auf „Add Open Scenes“, den Rest lassen wir unverändert.

Klickt unten auf Playersettings und tragt ähnlich wie bei der VR-Serie noch einen Companyname und Package Name ein und setzt den Minimum API Level auf min. Android 4.4.

Nun könnt ihr euer Handy anschließen und kompilieren (Build and Run). Vergesst nicht in den Entwickleroptionen das USB Debugging zu aktivieren.

Druckt euch nun euer Marker auf einem Blatt Papier aus und wenn ihr alles richtig gemacht habt sollte es in etwa so aussehen:

 

Spendiere mir einen Kaffee, wenn dieser Artikel dir gefallen hat!

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

%d Bloggern gefällt das: