Kategorien
Augmented Reality Software

Wie man ohne Code eine Augmented Reality App erstellt

Du möchtest deine eigene Augmented Reality App erstellen, aber hast nur wenig Erfahrung mit Programmierung? Am liebsten würdest du die AR App ohne Code erstellen? Gleichzeitig willst du dir aber alle Optionen offenhalten und daher nicht auf ein fix-fertiges Template zurückgreifen? Denn vielleicht möchtest du die Anwendung ja später noch erweitern und individuell gestalten?

Dann empfehle ich dir, gleich mit Unity 3D zu starten. Mit den richtigen Packages wird der erste Prototyp zum Kinderspiel. Gleichzeitig hast du keinerlei Einschränkungen. Egal ob Scripting, Design, 3D Modelle, Animationen oder UX – du kannst deine Anwendung Schritt für Schritt erweitern und für alle gängigen Plattformen veröffentlichen.

In diesem Tutorial zeige ich dir, wie du eine einfache AR-Anwendung erstellst. In der App kann man 3D Objekte auf beliebige Oberflächen hinzufügen und verschieben. Das Ergebnis siehst du im folgenden Video:

AR App ohne Code erstellen – Ergebnis

Verwendete Frameworks

In diesem Tutorial zeige ich dir, wie du mit ARFoundation eine Augmented Reality Anwendung erstellst. Zusätzlich verwenden wir das XR Interaction Toolkit für die gängigen Interaktionen in AR. Beide Packages werden von Unity selbst erstellt. ARFoundation ist ein Framework, das eine einheitliche Entwicklung für ARKit auf iOS und ARCore auf Android erlaubt. In diesem Tutorial beschreibe ich die Entwicklung für Android. Für iOS funktioniert das meiste genau gleich, nur ein paar Einstellungen sind anders.

Das XR Interaction Toolkit ist momentan noch im Preview-Status. Das bedeutet, sie sind noch nicht offiziell veröffentlicht und haben evt. noch kleinere Fehler oder eine umständliche Bedienung. Meiner Erfahrung nach funktionieren sie schon recht gut und sind vor allem für Prototypen eine große Arbeitserleichterung.

Schritt-für-Schritt-Anleitung AR App ohne Code erstellen

Nun geht’s los und ich beschreibe dir Schritt für Schritt, wie du deine eigene AR App erstellen kannst. Weiter unten gibt es auch ein Video, in dem alle Schritte ab Punkt 4 gezeigt werden.

  1. Unity Installation

    Installiere die neueste Unity-Version. Du kannst sie entweder direkt von der Download-Seite oder über den UnityHub installieren. Wichtig ist, dass die richtige Plattform mitinstalliert wird. Ich habe für das Tutorial die Version 2020.1.01f und Android verwendet.

  2. Erstelle ein neues Projekt

    Ich füge ein neues Projekt immer über den UnityHub hinzu.
    Wähle das 3D Template und einen Namen für dein Projekt. Das Projekt wird als Unterordner in dem ausgewählten Ordner angelegt.

  3. Unity Umgebung

    Sieh dir die Unity Umgebung an. Es gibt vier wichtige Panels, die wir in diesem Projekt benötigen: In der Scene kann man alle Elemente in 3D anordnen und begutachten. Die Hierarchy listet alle Elemente der Szene auf. Wichtig sind die Parent-Child-Beziehungen. Im Inspector werden alle Details und Komponenten eines ausgewählten Objekts angezeigt. Im Project werden alle Dateien, die zum Projekt gehören, aufgelistet. Die Dateien sind nicht aktiv, solange sie nicht in einer Szene hinzugefügt werden.

  4. Installiere die Packages

    Öffne Windows/PackageManager um die erforderlichen Packages zu installieren. Ändere die Auswahl Packages:InProject auf Packages:Unity Registry um alle verfügbaren Pakete anzuzeigen. Zusätzlich müssen wir Preview-Packages erlauben. Dazu klicke auf das Einstellungs-Symbol neben dem Suchfeld und öffne die Advanced Project Settings. Wähle Enable Preview Packages und bestätige das PopUp-Fenster.
    Nun kannst du das Package ARFoundation auswählen und auf Install drücken. Zusätzlich benötigst du das Package für deine Plattform. Für Android heißt das ARCore XR Plugin. Für die Interaktionen installiere noch das XR Interaction Toolkit.

  5. AR Szene erstellen

    Nun kannst du den Package Manager wieder schließen um das Grundgerüst für die AR App zu erstellen. Lösche die MainCamera in der SampleScene. Erstelle die AR-Umgebung indem du GameObject/XR/ARSession und GameObject/XR/ARSessionOrigin hinzufügst. Unter ARSessionOrigin findest du nun eine neue ARCamera. Wichtig ist, dass die ARCamera als MainCamera markiert ist.Neue ARFoundation Szene erstellen

  6. Projekteinstellungen

    Die grundlegende AR-Umgebung ist bereits fertig, aber ein paar wichtige Projekteinstellungen fehlen noch.
    Öffne Edit/ProjectSetting und wähle auf der linken Seite Player aus. Für AR-Apps muss bei den Graphics APIs Vulkan entfernt werden und als Minimum API Level ist Android 7.0 ‚Nougat‘ (API Level 24) notwendig. Dann wähle XR-Pluginmanagement und aktiviere ARCore als Plugin-Provider.Unity Player Einstellungen für Augmented Reality

  7. Erster Test

    Nun kannst die App zum ersten Mal testen. Öffne File/BuildSettings und ändere die Plattform auf Android. Mit Add Open Scene muss noch die aktuelle Szene hinzugefügt werden. Anschließend kannst du auf Build and Run drücken um die Applikation auf deinem angeschl0ssenen Gerät ausführen. In dem PopUp-Fenster kann ein beliebiger Name, z.B. test.apk festgelegt werden. Wichtig ist, dass der Developer Mode aktiviert ist.

  8. Ebenen detektieren und anzeigen

    Bis jetzt ist die AR-Anwendung noch ziemlich langweilig. Man sieht nur das Video von der Kamera, aber keine virtuellen Objekte. Zunächst fügen wir die Ebenen hinzu, die von ARCore automatisch gefunden werden.
    Dazu erstelle zunächst im Kontextmenü der Hierachy ein neues Objekt XR/AR Default Plane. Das neue Objekt ziehst du in das Project-Fenster um ein Prefab zu erstellen. Das ursprüngliche Objekt kannst du danach wieder aus der Hierarchy löschen.
    Wähle danach in der Hierarchy AR Session Origin aus und füge im Inspector die Komponente AR Plane Manager hinzu. In das Feld Plane Prefab ziehst du das zuvor erstellte Prefab.
    Wenn du die App nun ausprobierst, siehst du gelbe, halb-transparente Flächen an den Stellen, wo eine Ebene erkannt wird. Das Aussehen der Ebenen kannst du im AR-Default-Plane-Prefab ändern.

  9. Touch-Gesten in Interaktionen umwandeln

    Um 3D Objekte in der Szene zu platzieren, verwenden wir das XR Interaction Toolkit. Füge dazu in der Hierachy ein neues Objekt XR/AR Placement Interactable hinzu. Dabei wird automatisch auch das Objekt XR Interaction Manager hinzugefügt.
    Zusätzlich müssen wir noch zwei Komponenten hinzufügen. Im Objekt AR Session Origin füge die Komponente AR Raycast Manager hinzu. Diese überprüft, ob von der Touch-Position eine der detektierten Ebenen erfasst wird. In der AR Camera füge einen AR Gesture Interactor hinzu. Dieser wandelt die Touch-Inputs in Gesten um, z.B. um Objekte zu platzieren, selektieren, verschieben, etc.
    AR Interaction Toolkit: Touch-Input als AR-Gesten verwenden

  10. 3D Objekt definieren

    Nun müssen wir noch festlegen, welches Objekt wir in der Szene platzieren möchten. Du kannst z.B. einen einfachen 3D Cube in der Hierachy erstellen und ein Prefab daraus machen, indem du ihn in das Project-Fenster ziehst. Im AR Placement Interactable wählst du das neue Prefab für das Feld Placement Prefab.
    Die Standard-Größe des Würfels ist sehr groß, daher skaliere ich ihn auf 0.1. Außerdem schiebe ich ihn in der y-Achse nach oben, damit er direkt auf der Ebene liegt. Da die Transformation des platzierten Objekts vom AR-Framework verändert wird, empfehle ich folgende Anordnung: Ein leeres Objekt mit den Standard-Werten und darunter das eigentliche Cube-Objekt mit der veränderten Transformation.AR Interaction Toolkit: 3D Objekt, welches interaktiv platziert werden kann

  11. Objekte auswählen und verschieben

    Da nun schon alles eingerichtet ist, geht es sehr einfach, zusätzliche Aktionen hinzuzufügen. Öffne dazu das Cube-Prefab. Erstelle zunächst ein Child-Objekt vom Würfel, z.B. eine Ebene, welches die Selektion des Würfels anzeigt. Diese Selektionsanzeige ist am Anfang nicht sichtbar, deaktiviere es daher mit dem Häkchen neben dem Namen.
    Nun wähle das oberste Element des Prefabs und füge die Komponente AR Selection Interactable hinzu. Im Feld Selection Visualization wählst du die zuvor erzeugte Selektionsanzeige.
    Um das Objekt verschieben zu können, fügst du noch die Komponente AR Translation Interactable hinzu.AR Interaction Toolkit: Objekt auswählen und verschieben

Video-Anleitung

Video-Tutorial: AR App ohne Code erstellen

Wie geht’s weiter?

ARFoundation und AR Interaction Toolkit bieten noch viele zusätzliche Möglichkeiten für Augmented Reality. Und Unity 3D selbst bietet natürlich noch unzählige Möglichkeiten für 3D Grafiken, Animationen und Interaktionen. Wenn du mehr über die Erstellung von Augmented Reality Anwendungen lernen willst, empfehle ich dir meinen AR Entwickler Workshop. Neben der interaktiven Bearbeitung von Objekten zeige ich dir auch die Verwendung von Image Targets. Außerdem stelle ich dir zusätzliche Frameworks vor und für welche Anwendungen sie sinnvoll eingesetzt werden.

Schreibe einen Kommentar

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