Vor kurzem haben wir einen Techrally-Tag bei einem unserer Kunden, Intergamma, durchgeführt. Der Kunde gab einige Themen vor, die ihn interessierten, von der Sprachsuche bis zur automatischen Klassifizierung. Mit einem 4-köpfigen Team beschlossen wir, eine Augmented-Reality-App für Mobiltelefone zu entwickeln, die eine Montageanleitung für Heimwerker zeigt, um einem Kunden "vor Ort" zu helfen. Hatten wir Erfolg? Lesen Sie weiter...
Die Einrichtung
Nach einem Gespräch mit dem Produktverantwortlichen von Intergamma haben wir uns die folgende User Journey ausgedacht:
- Ein Kunde kauft ein Produkt, zum Beispiel eine Steckdose
- Sie öffnet die Proof-of-Concept-App, wenn sie mehr über den Zusammenbau des Produkts erfahren möchte
- In der Nähe der alten Steckdose kann sie die erweiterte Projektion der Montageanleitung starten
- Mehrere animierte Schritte zeigen die Demontage des alten Sockels und die Montage des neuen Sockels
- Dank der erweiterten Anweisungen gelingt es dem Kunden, die Schritte auszuführen
Wir begannen sofort mit der Recherche zu den verschiedenen Hauptbestandteilen der vorgeschlagenen App:
- Einfaches Importieren und Manipulieren von 3D-Objekten und Animationen
- Die Verfolgung einer Position an einer Wand ist eine Notwendigkeit
- Die App braucht 2D-Overlays für textliche Erklärungen
- Plattformübergreifende Entwicklung ist ein Plus (iOS und Android von einer Codebasis aus)
Dank der kontinuierlichen Bemühungen von Google ist die ARCore-Bibliothek jetzt sowohl für iOS als auch für Android verfügbar. Die Bibliothek erfüllte genügend Funktionen für unser Proof-of-Concept. Besonders angetan waren wir von der Funktion " Erweiterte Bilder", die kürzlich zur ARCore-Bibliothek hinzugefügt wurde. Die ARCore-Bibliothek ist eine eigenständige Bibliothek, die Sie in jede mobile Android- oder iOS-App integrieren können. Sie bietet Ihnen eine Reihe von APIs, mit denen Sie ein Augmented Reality-Erlebnis schaffen können. Sie ist jedoch recht einfach gehalten und bietet nicht viel Hilfe beim Importieren von 3D-Modellen oder beim Einrichten von Animationen. Deshalb haben wir uns auch die Verwendung von Unity angesehen: eine Spiele-Engine, die sich in den letzten Jahren zu einem Komplettpaket für die Erstellung von 3D-Erlebnissen entwickelt hat. Sie wird mit einer eigenen Entwicklungsumgebung geliefert, die Funktionen wie Instant Run bietet, um Ihre App während der Entwicklung zu testen. Das klang wie eine perfekte Ergänzung für unser Proof-of-Concept. Wir begannen mit dem Herunterladen der Unity-Umgebung und der ARCore-Pakete.
Fortschritte in der Entwicklung
Zwei Teammitglieder haben sich mit dem Zeichnen und Animieren von 3D-Wandsteckdosen in Blender beschäftigt. Einer von uns wurde ein wenig abgelenkt und sah sich die Vuforia-Bibliothek als alternative AR-Bibliothek an. Unnötig zu sagen, dass sie hält, was sie verspricht. Aber für den endgültigen Proof-of-Concept haben wir uns schließlich für ARCore entschieden. Es ist gut zu wissen, dass es noch mehr Bibliotheken gibt, die eine gute plattformübergreifende AR-Unterstützung bieten.
Als Erstbenutzer der Unity-Entwicklungsumgebung waren wir von all den Optionen des Tools ein wenig überwältigt. Sie beginnen mit einem Projekt, das die Assets Ihrer App enthält. Assets können 'Prefabs' (3D-Modelle mit Texturen und Animationen), 2D-Bilder, C#-Skripte, Konfigurationen und so weiter sein. Eine Szene ist eine Hierarchie von Instanzen dieser Skripte, Prefabs und anderen Dingen wie Overlays. Die Skripts können dann auf diese Instanzen verweisen und mit der Szenenhierarchie interagieren. Ein Skript kann zum Beispiel ein Prefab im 3D-Raum verschieben oder ein Overlay anzeigen.
Natürlich haben wir es versäumt, die Dokumentation zu lesen, und sind nicht weitergekommen. Sie müssen 'magische' Verbindungen zwischen Konfigurationsfeldern und Instanzen herstellen. Erst später erfuhren wir, dass Sie dies durch Ziehen und Ablegen tun müssen.
Abgesehen von der manchmal unintuitiven Auswahl der Benutzeroberfläche hat uns die Unity-Umgebung einen Vorsprung verschafft. Die Installation der App auf einem angeschlossenen Android-Telefon verlief ohne Probleme. Das Erstellen einiger UI-Texte, die angezeigt werden sollen, war ganz einfach. Das Schreiben kleiner Update-Skripte im mitgelieferten C#-Editor war in Ordnung, die Autovervollständigung hat uns dabei geholfen.
Die AR-Bibliothek wird mit einem Unity-Plugin geliefert, mit dem Sie eine Datenbank mit Augmented Image-Markern erstellen können. Zunächst dachten wir, das Plugin funktioniere nicht, da es ständig ein Bild 'analysierte'. Dann fanden wir in der Log-Ansicht heraus, dass die Analyse aufgrund von geringem Kontrast und Wiederholungen im Bild fehlschlug. Das Ändern des Markerbildes hat das Problem gelöst.
[caption id="attachment_25978" align="aligncenter" width="164"]
Unser endgültiges Markierungsbild[/caption]
Demo-Zeit
Alle Teile wurden rechtzeitig zum Präsentationstermin zusammengefügt. Zum Glück verlief die Demo reibungslos!
Gelernte Lektionen
- (einfache) Augmented Reality-Effekte sind dank der aktuellen AR-Bibliotheken für den durchschnittlichen Entwickler erreichbar
- Die Erstellung der Assets für Ihre App erfordert viel Zeit und spezielles Fachwissen. Unterschätzen Sie nicht die Zeit, die Sie dafür aufwenden müssen.
- Durch die Verwendung einer Entwicklungsumgebung, wie sie mit Unity geliefert wird, kann Ihr Projekt in Schwung gebracht werden.
Alles in allem blicken wir auf einen unterhaltsamen Tag zurück und sind inspiriert, in Zukunft an neuen AR-Projekten zu arbeiten.
Verfasst von

Albert Brand
Unsere Ideen
Weitere Blogs
Contact



