In der heutigen, technologiegetriebenen Welt spielen webbasierte 3D-Engines eine immer größere Rolle. Sie ermöglichen es uns, beeindruckende 3D-Grafiken direkt im Webbrowser darzustellen. Das kann unser digitales Erlebnis maßgeblich verändern.
In diesem Artikel werfen wir einen Blick auf Möglichkeiten, wenn leistungsstarke 3D-Engines auf Technologien wie das Internet der Dinge (IoT) und digitale Zwillinge treffen. Wir bei AIT konnten die 3D-Engine BabylonJS bereits erfolgreich in Kundenprojekten einsetzen und sind von den spannenden Synergieeffekten überzeugt.
Image by macrovector on Freepik
Bedarf in der IoT-Welt
Viele unserer Kunden möchten ihre Maschinen und Produktionsprozesse besser vernetzen, um Prozesse effektiver und effizienter zu gestalten. Dabei werden meist folgende Phasen durchlaufen:
- Daten zugänglich machen
- Daten integrieren
- Daten visualisieren
- Erkenntnisse über die Daten gewinnen
- Vorhersagen treffen und
- Daten nutzen, um autonome Prozessverbesserungen durchzuführen.
3D-Visualisierung kann bei der Datenvisualisierung und der Erkenntnisgewinnung über Daten einen enormen Vorteil bringen.
Dazu ein Beispiel:
In einer hochautomatisierten Produktionsumgebung, wie Sie oft bei unseren Kunden vorzufinden ist, werden viele Daten mithilfe von Industriestandards wie OPC UA in die Cloud übertragen. Oft stehen auf dem Shopfloor mehrere dutzend Maschinen, welche wiederum mehrere Meter lang, breit und hoch sein können. Jede dieser Maschinen kann zahlreiche, unterschiedliche Fehlermeldungen ausgeben.
Nun könnte ein Mitarbeiter visuell den genauen Standort des Fehlers im digitalen Zwilling (als 3D-Modell implementiert) dieser Maschine identifizieren. Die Fehlermeldung wird auf dem Modell markiert, sodass sofort ersichtlich ist, welcher Teil der Maschine betroffen ist. Dies ermöglicht es den Mitarbeitern, schnell zu reagieren, gezielte Maßnahmen zu ergreifen und Ausfallzeiten zu minimieren. Die 3D-Visualisierung schafft somit eine klare Verbindung zwischen den gemeldeten Daten und der realen physischen Maschine, was zu einer effizienteren Fehlerdiagnose und Instandhaltung führt.
Image by Freepik
Herausforderungen und Fragestellungen bei der Umsetzung von 3D Visualisierungen
Beim Umsetzen von Lösungen mit Komponenten zur 3D Visualisierung kommen häufig die gleichen Fragen auf:
- Welche 3D Technologie ist die richtige?
- Wie unterscheidet sich 3D Entwicklung von “klassischer” Entwicklung?
Auf diese beiden Fragen gehen wir im Folgenden ein.
Welche 3D Technologie ist die richtige?
Image by storyset on Freepik
Viele unserer Kunden stehen vor der Herausforderung, schnell neue Lösungen entwickeln zu müssen, um am Markt wettbewerbsfähig zu bleiben. Dabei hat sich die agile Entwicklung oft als vorteilhaft erwiesen, da im Zusammenhang mit Continuous Integration und Continuous Deployment (CI/CD) schnelle Feedbackschleifen möglich sind und man so schnell gegensteuern kann, wenn man in die falsche Richtung entwickelt.
Zu diesem Vorgehen passen moderne Web 3D-Engines wie BabylonJS oder Three.JS sehr gut, da Sie schnelle Iterationen ermöglichen. Im Gegensatz dazu stehen großen Engines wie Unity oder die Unreal Engine. Ein weiterer Vorteil beim nutzen einer Web-Engine im Vergleich zu Unity und Co. ist, dass man in einer IDE Businessanwendung plus 3D Teile entwickeln kann. Dabei ist man unabhängig von weiteren Services.
Web-Engines bieten spezifische Vorteile, wie etwa die Darstellung von 3D-Grafiken direkt im Webbrowser, ohne dass zusätzliche Installationen oder Downloads erforderlich sind. Dies erhöht die Zugänglichkeit und Benutzerfreundlichkeit erheblich. Webbasierte 3D-Engines sind in der Regel leichter und ressourcenschonender, was zu schnelleren Ladezeiten und einer reibungsloseren Benutzererfahrung führt.
Sie sind plattformübergreifend und unterstützen eine breite Palette von Geräten, von Desktops bis hin zu mobilen Geräten. Die Integration in bestehende Web-Anwendungen ist leicht möglich und die meisten Web-Engines sind Open-Source und kostenlos kommerziell einsetzbar. Im Gegensatz dazu muss man bei Unity schon ab einem Jahresumsatz von über 200.000$ eine Plus Lizenz kaufen, die für einen einzelnen Entwickler 369€ kostet (Stand 25.08.2023). Natürlich bietet Unity ein breiteres Feature Set, dieses ist jedoch eher für Spieleentwicklung notwendig und bringt mehr Overhead als Nutzen im Umfeld von IoT mit sich, wie etwa eine seperate IDE und seperate Pipelines.
In unseren bisherigen Projekterfahrungen hat sich gezeigt, dass BabylonJS alles mitbringt um es produktiv, effizient und effektiv zu verwenden. Es bringt eine gute Mischung aus Leistung, einer benutzerfreundlichen API und einer starken Community-Unterstützung mit und bietet so die exzellente Balance zwischen Funktionalität und Anpassungsfähigkeit. Dazu kommt, dass es komplett Open-Source unter der Apache License 2.0 veröffentlicht ist.
Übrigens: auch große Firmen wie Microsoft setzen auf BabylonJS (What People Are Saying About Babylon.js (babylonjs.com), so z.B. bei Ihrer neuen Lösung 3D Scenes Studio (preview) for Azure Digital Twins.
Wie unterscheidet sich 3D Entwicklung von “klassischer” Entwicklung?
Vergleicht man klassische Softwareentwicklung mit 3D-Entwicklung gibt es ein paar extra Punkte zu beachten:
- Räumliche Dimension
3D-Entwicklung fügt eine räumliche Dimension hinzu, die in der 2D-Entwicklung nicht vorhanden ist. Dies erfordert ein tieferes Verständnis von räumlicher Geometrie, Beleuchtung, Schattierung und Perspektive, um realistische visuelle Effekte zu erzeugen. - Komplexität der Darstellung
Im Vergleich zu 2D-Grafiken sind 3D-Modelle komplexer und erfordern oft aufwändigere Vorarbeiten, z.B. eine genaue Modellierung von Formen, Texturen und Materialien. - Performance
3D-Anwendungen können anspruchsvoll in Bezug auf die Grafikleistung sein, da sie in der Regel mehr Ressourcen erfordern als 2D-Oberflächen. Die Optimierung von Performance und Ladezeiten ist daher von großer Bedeutung, um eine reibungslose Benutzererfahrung sicherzustellen. - Interaktion und Navigation
In 3D-Anwendungen interagieren Benutzer nicht nur mit einer Oberfläche, sondern können auch in die räumliche Umgebung eintauchen. Dies erfordert eine intuitive Navigation und Steuerung, um die Benutzererfahrung angenehm zu gestalten. - Modellierung und Datenaufbereitung
Die Erstellung von 3D-Modellen setzt spezielle Software und Kenntnisse in 3D-Modellierung und Animation voraus. Oftmals gibt es bereits vorhandene CAD-Modelle, die jedoch für die Darstellung im Web aufbereitet werden müssen. Dies beinhaltet die Konvertierung der Modelle in Formate, die von Webbrowsern unterstützt werden, sowie die Optimierung von Polygonanzahl und Texturgrößen, um eine reibungslose Online-Darstellung zu gewährleisten. - Kollaboration im Team
Die Entwicklung von 3D-Anwendungen fügt weitere Themenbereiche und Fachkenntnisse zu einem Softwareentwicklungsteam hinzu. Von Grafikdesign über Shader-Entwicklung bis hin zur Modellierung. Die Zusammenarbeit im Team und die Koordination dieser verschiedenen Aspekte sind entscheidend, um ein erfolgreiches Endprodukt zu gewährleisten
3D-Entwicklung kann eine wichtige Rolle in der digitalen Transformation spielen. Als Bergführer unserer Kunden helfen wir dabei, den Übergang in die IoT-Welt zu erleichtern. Die Kombination von IoT-Daten, 3D-Engines und digitalen Zwillingen eröffnet Möglichkeiten, die Effizienz Ihrer Produktion zu steigern und innovative Lösungen zu entwickeln.