Softwareentwicklung lebt von Innovation und wird durch stetige Neuerungen vorangetrieben. Auch uns bei eXXcellent solutions treibt die Neugier voran. Um unser neu gewonnenes Wissen gezielt in die Projektarbeit einfließen zu lassen und dadurch innovativ zu bleiben, setzen wir schon seit einigen Jahren auf agilen Wissenstransfer durch Expertenkreise – oder wie wir sie nennen: Gilden.
Auch Unsere Gilden entwickeln sich mit den Technologien stetig weiter. Es wird daher Zeit für eine neue Vorstellungsrunde: Wir stellen die Arbeit und Ergebnisse der Gilde „XR & GameEngine“ vor!
VR (Virtual Reality) und AR (Augmented Reality) – zusammen XR (Extended Reality) oder MR (Mixed Reality) – sind Zukunftstechnologien, welche immer häufiger in Firmen zur Problemlösung angewendet werden und sich schnell weiter entwickeln. Wir werden immer häufiger mit diesem Thema in Berührung kommen und wollen gewappnet sein. 3D-Welten und Game Engines verschmelzen mit sonst fachfremder Software-Entwicklung. Es gibt viele verschiedene Technologien, aber aktuell wenige Standards. «
Technologien der Zukunft
Wir werfen einen Blick auf das Thema XR (©James Yarema auf unsplash)
Im Grunde handelt es sich bei VR und AR um keine neuen Technologien. Allerdings ist der Einsatz solcher Technologien noch recht neu und hat viel Potenzial. Um zu zeigen, welche Innovationen mit XR möglich sind, haben wir hier ein paar Branchen und Firmen aufgelistet, die bereits „in der Zukunft angekommen“ sind:
- Shopping (Amazon, Gucci, ASOS, Sephora, IKEA), z.B. nach dem Motto „try before you buy“ sehen, wie man mit der gewünschten Kleidung aussieht oder sich digitale Möbel daheim visualisieren.
- Navigation (Google, Kaufhäuser), z.B. via AR eine Wegfindung in die reale Welt projizieren.
- Training (Bildung, Arbeitsausbildung, Fabriken), z.B. eine „praktische“ Fahrstunde in der virtuellen Fahrschule birgt deutlich weniger Risiken.
- Gesundheitswesen (SentiAR, AccuVein Inc., echo3D), z.B. feine Operationen übernehmen oder wichtige Venen und Organe einblenden.
- Arbeitsproduktivität (Infinite Office von Meta, Apple), z.B. virtuelle Büros und Meetings; virtuelle Displays.
- Sport (ESPN, Fox Sports), z.B. Echtzeit-Overlays, Live-Übertragungen.
- Ausbildung (Schulen, Universitäten, Google Arts & Culture, zSpace), z.B. Interaktives Lernen von Zuhause, bessere Visualisierung verschiedener Dinge.
- Reisen (MARS Storytelling, Zaubar, Disney Cruise Line, National Geographic VR app), z.B. virtuell den Mars besuchen oder Stadttouren machen.
- Live-Konzerte (Festivals, Billie Eilish, John Legend, Deadmau5, Travis Scott, The Weekend): Auftritte in VR für ein reales „Mittendrin-Gefühl“, z.B. während Corona.
- Immobilien (Rooomy, Matter), z.B. virtuelle Besichtigungen, 3D-Architektur-Visualisierungen.
- Fernunterstützung (Vuforia Chalk, Microsoft Dynamics 365 Remote Assist, Re’flekt Remote, TeamViewer’s xAssist): Informationen und Anweisungen räumlich in die reale Welt einblenden.
- Gaming & Social (Pokémon Go, Snapchat, Decentraland, Meta Horizon): Spiele und Treffen mit Freunden in die reale Welt projizieren oder in einer virtuellen Umgebung abhalten.
Wissenstransfer & internes Consulting
Unser Ziel als Gilde ist es, Wissen über diese Technologien aufzubauen und intern zu verbreiten. Ein gewisses Grundwissen soll für alle Mitarbeitenden verfügbar sein. Expert:innen der Gilde sollen für einzelne, relevante Technologien zur Verfügung stehen und intern beraten können. Wir erarbeiten Bausteine und Verfahren zur Verwendung in Projekten und haben dafür bis zu 20 Prozent unserer Arbeitszeit zur Verfügung.
Da wir nicht sofort Experten in jeder verfügbaren Technologie werden können, müssen wir uns zunächst auf bestimmte Bausteine einigen. Aus Recherchen und bereits vorhandenen Erfahrungen ergeben sich dann Prioritäten für Programmiersprachen, Entwicklungsumgebungen, Game-Engines, Frameworks und die Festlegung, ob VR oder AR an erster Stelle stehen sollte.
Unsere Kolleg:innen können VR und AR Spiele und Anwendungen ausprobieren (©eXXcellent solutions)
Auswahl der Entwicklungs-Tools
Zunächst benötigen wir das richtige Werkzeug, um für VR und AR entwickeln zu können. eXXcellent solutions hatte in der Vergangenheit bereits einen „VR for Business - Workshop“ angeboten, bei dem mittels THREE.js eine Web-VR Anwendung entwickelt wurde, sowie einen Vortrag darüber beim Neu-Ulmer IT-Kongress gehalten. Es gibt viele Tools, mit denen man in die Thematik einsteigen kann, doch viele sind in ihren Möglichkeiten stark eingeschränkt. Um ein paar Beispiele zu nennen, hier ein paar Entwicklungsumgebungen, SDKs und 3D- oder Game Engines, die VR- oder AR-Entwicklung erlauben:
VR: Unity, Unreal, Amazon Sumerian (VR-Engine von AWS), CryEngine, Blender, 3ds Max, Maya, Oculus Medium
AR: Unity, Unreal, SketchUp Studio, Hololink, Spark AR Studio, Vuforia, Wikitude, ARKit (Apple), ARCore (Google), ARToolKit (Open Source)
Im Vergleich haben 3D- und Game-Engines am meisten zu bieten und sind am weitesten entwickelt, da diese schon viele Jahre existieren und stetig verbessert werden, im Gegensatz zu neuer Software, welche erst für VR und AR geschaffen wurde. Da 3D-Engines deutlich weniger bis gar nicht auf Interaktivität ausgelegt sind und wir nicht nur Dinge anzeigen, sondern auch damit interagieren wollen, bieten Game Engines uns die besseren Möglichkeiten.
Game Engines
Auch wenn eine Entwicklung im Kontext von XR nicht unbedingt etwas mit Spielen oder spielerischen Elementen zu tun haben muss, so werden Game Engines wie Unity (Unity Technologies) oder Unreal Engine (Epic Games) sehr gerne verwendet, da diese eine frühe Unterstützung für neue AR-, VR- und MR-Hardware bereitstellen. Wir beschränken unsere Recherche daher auf Unity und Unreal. Bei der Frage, welche Game Engine zum Einsatz kommen soll, sollte man einige Punkte evaluieren:
- Wird die Zielplattform (Hardware) unterstützt?
- Gibt es bereits Erfahrung im Team mit einer der Engines und entsprechenden Programmiersprache? Wie groß sind die Einstiegshürden?
- Wie sieht das Lizenzierungsmodell und -Kosten aus?
- Wie sieht es mit Unterstützung bei Problemen (Support) aus?
- Benötige ich (spezielle) Features/Assets?
Unity bietet eine breit gefächerte Unterstützung für XR-Hardware an, diese wächst zwar auch bei Unreal, aber man findet deutlich weniger Repräsentanten für Einsteiger-Tutorials und kleinere XR-Projekte. Von beiden unterstützt und für uns im Speziellen wichtig, sind iOS und Android für AR und die Meta Quest für VR.
Wenn bereits Erfahrung mit einer der beiden Engines vorhanden ist, kann dies natürlich ein wichtiger Entscheidungsfaktor sein. Die Mitglieder unserer Gilde haben bereits Erfahrungen mit beiden Engines sammeln können.
Die Einstiegshürden sollten nicht unterschätzt werden. Eine Game Engine bringt sehr viele Features mit, welche für viele Erstanwender erst einmal überfordernd sein können. Gerade grafische Aspekte wie das Platzieren von 2D- und 3D-Objekten, die Texturierung (das Material eines Objektes) oder Animationen erfordern eine Menge an Einarbeitungszeit. In Unreal gibt es für Texturierung und Animationen sogar eigene Editoren mit visuellen Skripten. Diese Art zu skripten geht sogar soweit, dass ohne große Programmiersprachen-Kenntnisse Anwendungslogik erstellt werden kann (Blueprints), ohne C++ zu verwenden, welches von Unreal unterstützt wird. In Unity hingegen wird meist mit C# entwickelt, auch wenn es über ein Plugin ein ähnliches Konzept gibt. C++ unterstützt sowohl prozedurale als auch objektorientierte Programmierung, und C# ist vollständig objektorientiert. In C++ muss man sich selbst um die Speicherverwaltung kümmern, also erstellte Objekte nach der Verwendung wieder löschen.
Bei der Frage nach den Kosten gilt es zwischen den Kosten für die Nutzung der Game Engines (Lizenz) und den laufenden Kosten nach Release zu unterscheiden.
Monatliche Kosten belaufen sich Stand April 2024 bei Unity auf 1.877€ (ab einem Firmenumsatz von 200.000$) und bei Unreal (ab Version 5.4, nur für Nicht-Spieleentwickler) auf 1.850$ (ab einem Firmenumsatz von 1.000.000 $).
Zusätzlich verlangen Unity 2,5% und Unreal 5% des Produkt-Umsatzes, sobald damit 1.000.000 $ erwirtschaftet wurden, wobei Unity hierfür nur die letzten 12 Monate betrachtet.
Unterstützung (Support) bekommt man bei beiden Plattformen kostenlos über die jeweilige Community oder kostenpflichtig beim jeweiligen Unternehmen. Unity hat eine größere Community und deshalb findet man oft mehr Ergebnisse (StackOverflow/Forum).
Unsere Gilde verwendet Unity, da uns, neben dem einfacheren Entwickeln für iOS, die schnelle Unterstützung von neuer XR-Hardware, die niedrigere Einstiegshürde für Kolleginnen und Kollegen und die große Community wichtig sind. Ebenfalls hat die vorhandene Erfahrung von Gildenmitgliedern in Unity eine wichtige Rolle gespielt.
XR Demos
Wir entwickeln verschiedene Demo-Anwendungen, welche demonstrieren sollen, was alles mit XR möglich ist und uns helfen sollen, uns in die verschiedenen Technologien einzuarbeiten. Unser erstes Projekt mit dem Namen „Throwing Cans“ ist ein klassisches Dosenwerfen, das aber in AR stattfindet. Mittels Smartphone und Kamera kann die Umgebung zum Jahrmarktstand werden. Ähnlich wie bei Pokémon Go hat man nach dem Platzieren eines Tisches mit den Dosen die Möglichkeit, Bälle mittels Touchscreen zu werfen, indem man den Ball vom unteren Bildschirmrand nach oben wischt. Dies ist sogar über Wi-Fi (kein WLAN, also ohne Access Point) mit mehreren Mitspielern möglich. Bei iOS „Multipeer Connectivity“ - Direktverbindungen und Broadcasting. Bei Android „Nearby Connections“ - zusätzlich über Bluetooth.
Dosenwerfen mit Augmented Reality (©eXXcellent solutions)
Als zweites Projekt arbeiten wir an einer weiteren AR-Attraktion. Dieses Mal geht es um das Erstellen einer Bahnstrecke mit verschiedenen Schienen. Ein Zug fährt dann die erstellte Strecke ab und kann über das Display von Nahem oder Weitem verfolgt werden – ein Spaß für Modellbahn-Liebhaber! Ein solches Modell kann auch für andere Zwecke verwendet werden: Die Bahnstrecken könnten beispielsweise Schaltkreise oder Prozessabläufe visualisieren und so zum einfacheren Verständnis und Erlernbarkeit von Sachverhältnissen beitragen.
Modelleisenbahn: rechts Strecken bauen, links Fahransicht (© eXXcellent solutions)
Equipement
Aktuell steht der Gilde Metas neuestes VR-Headset - Meta Quest 3 - zur Verfügung. Bereits früh gab es bei Kolleginnen und Kollegen Interesse an Experimenten in der virtuellen Welt, daher wurde schon vor der Gildengründung die erste Meta Quest bestellt (Anfang 2020, damals noch als Oculus Quest bekannt).
Der Bereich AR ist zwar im Gegensatz zu VR und MR nicht über spezielle Hardware abgedeckt, aber es können dafür Android- und iOS-Smartphones und -Tablets verwendet werden.
Ausblick
Unsere Demonstrationen sind erste Projekte, um mit den Technologien vertraut zu werden. So gibt es für die Modelleisenbahn noch einiges zu tun, z.B. die Größenverstellbarkeit oder die Einführung weiterer Bauteile. Parallel arbeiten wir daran, auch unter Android alle Netzwerkfunktionalitäten (so gut wie möglich) umzusetzen, so dass sich im Idealfall iOS und Android Geräte miteinander austauschen können.
Ein weiteres kleines AR-Projekt sind unsere interaktiven „Mitarbeiterbuttons“. An unseren Büros hängen kleine runde Schilder mit je einem Foto der Mitarbeitenden, die im entsprechenden Büro sitzten. Zeigt man nun mit unserer AR-App auf solch einen Button, soll der Mitarbeiter per AI animiert werden und etwas über sich erzählen.
Des Weiteren folgt die Umsetzung unserer Errungenschaften in VR – also als erstes die Portierung von unserem Dosenwerfen für z.B. die Meta Quest 3.
Die Gilden bei eXXcellent solutions
- Agile Softwareprojekte und Innovation: Gilden bei eXXcellent solutions
- Mit CI/CD erhöhen wir die Softwarequalität und verkürzen konstant die Releasezyklen
- Von Containern, Orchestern und Wolken: Die Gilde „Container, Kubernetes & Cloud Native“
- eXXcellent solutions Technology Radar: Wegweiser für unseren Kundenerfolg! Die Gilde "Technology Radar & Best Practices"
- Zugriff von überall? Authentifizierung ist wichtiger denn je! Die Gilde "Authorization, Authentication, Single Sign On (SSO)"
- Lernen, um zu Lernen: Die Gilde AI, Machine Learning & Data Science
Weitere Informationen:
Haben Sie Fragen zum Thema XR? Die Mitglieder der XR & GameEngine Gilde stehen Ihnen gerne mit Rat und Tat zur Seite. Schreiben Sie uns eine E-Mail. Wir freuen uns auf Ihre Kontaktaufnahme!
Wir teilen unser Wissen gerne. Begleiten Sie uns in unserem TechBlog auf unserer Reise vom Code zu Ideen für neue Technologien und Software oder lesen Sie auf unserem Newsblog mehr zum Thema Wissen & Weiterbildung bei eXXcellent solutions. |
Über die Autoren:
Michael Grönert ist Software Architect bei der eXXcellent solutions in Ulm. Sein Schwerpunkt liegt in der Frontend-Entwicklung. Zudem hat er langjährige Erfahrung in der Spiele-Entwicklung, ist Leiter der XR-Gilde (Mixed Reality) bei eXXcellent solutions und ehrenamtlich als Redakteur bei einem Online-Magazin tätig. Seine Software-Entwicklungen außerhalb von eXXcellent solutions streamt er gelegentlich auf der Streaming-Plattform Twitch. Aktuell beschäftigt er sich mit KI-Bild- und Videogenerierung. |
|
Philipp Backes hat in seiner Ausbildung zum Game Programmer (GA) bereits viel über Games Engines und VR gelernt. In seinem anschließenden Bachelorstudium konnte er erste Erfahrungen mit AR sammeln. Seit seinem Masterabschluss in Software Engineering im Jahr 2021 arbeitet er als Full Stack Developer bei eXXcellent solutions in Ulm. In seiner Freizeit engagiert er sich im Sportverein oder testet virtuelle Welten aus. |
Tags: Alle Blogbeiträge, Technologien, Wissen & Weiterbildung