Augmented Reality
Übersicht AR Frameworks - 2019 Update
05. September 2019
Innerhalb von nur wenigen Jahren hat sich die AR Framework Landschaft komplett verändert und sowohl als Unternehmen als auch als Developer darf man da nicht den Überblick verlieren. Aus diesem Grund habe ich in diesem Blogpost alle momentan (September 2019) relevanten Optionen nochmal aufgelistet und übersichtlich zusammengefasst!
Nachdem Augmented Reality (AR) Anwendungen gerade wieder mal sehr gefragt sind (wie uns Christina vor kurzem in ihrem Blogpost über die beliebtesten AR Games erklärt hat) habe ich unsere Übersicht über AR Frameworks von Ende 2015 überprüft und festgestellt dass mittlerweile wieder alles anders ist.
Frameworks
Grundsätzlich kann man natürlich auf Frameworks verzichten und sich eine eigene Augmented Reality Tracking Funktionalität erstellen. Ist halt nur leider ein langwieriger Prozess der sehr viel Know-How erfordert, teuer ist und mit grosser Wahrscheinlichkeit schlechter funktioniert als die Konkurrenz. Glücklicherweise gibt es eine große Anzahl an Anbietern von Augmented Reality Frameworks. Die wir für unsere Apps verwenden können und die häufig benötigte Funktionen wie Plane Detection, Tracking, Image/Tracker Recognition etc. bereitstellen. Sehen wir uns nun einige dieser Frameworks näher an:
ARKit
ARKit ist Apples hauseigene Augmented Reality Lösung. Mittlerweile ist die aktuellste Version ARKit 3, wir haben uns ARKit 2 bereits einmal genauer angesehen. Neben ausgezeichnetem Tracking (Planetracking, Imagetracking und 3D-Object Tracking) bietet ARKit noch einiges mehr an Features, wie zB People Occlusion, Motion Capture, Face Tracking oder sogar Collaborative Multi-User Sessions. Verfügbar ist es nur auf iOS Devices (iPhones und iPads), dafür dort gratis zu nutzen.
ARCore
ARCore (bzw Google Play Services for AR) ist das von Google entwickelte AR Framework für Android Devices, quasi ein Gegenstück zu ARKit. Es zeichnet sich neben ebenfalls ausgezeichneten Motion Tracking Fähigkeiten vor allem durch Environmental Understanding und Light Estimation aus. Welche es ermöglicht die Beleuchtungssituation im Kamerastream zu analysierung und auf die virtuellen 3D Modelle zu übertragen.
ARFoundation
Während ARKit auf iOS die bevorzugte Lösung ist, werden Android Developer auf jeden Fall auf Google Play Services for AR setzen. Will man als Entwickler beide Märkte bedienen, stellt einen das natürlich vor ein Problem. Den AR Code zweimal mit unterschiedlichen Frameworks implementieren und maintainen. Hier kommen Frameworks ins Spiel die eine API anbieten die je nach Plattform automatisch die zugrunde liegende ARKit oder ARCore Funktionalität nutzt!
ARFoundation ist eine dieser APIs, gedacht für die Verwendung von Unity und wird auch direkt vom Unity Team entwickelt. Neben dem Wrapper für ARCore/ARKit liefert ARFoundation auch eine super Basis um in Unity an AR Apps/Games zu arbeiten. Sie ist stark zu empfehlen wenn man Unity in der Entwicklung verwenden möchte!
Unreal AR
Lange Zeit war die einzige Möglichkeit Augmented Reality mit der Unreal Engine zu verwenden das von CodeFlügel bereitgestellte Vuforia Plugin. Epic Games hat aber hier stark nachgebessert und die Unreal Engine kommt mittlerweile standardmäßig mit einem AR Template zum AR Projekte erstellen. Ähnlich wie ARFoundation bei Unity bietet dieses die Möglichkeit über eine gemeinsame API je nach Plattform ARKit oder ARCore anzusprechen.
Vuforia
Bevor ARKit und ARCore die Bühne betreten haben war Vuforia das Go-To Framework für AR, besonders beliebt aufgrund des sehr stabilen Image Trackings. Mittlerweile stellt Vuforia ebenfalls eine Wrapper API zur Verfügung um ARKit/ARCore verwenden zu können mit einer gemeinsamen Codebase. Momentan ist es noch immer keine schlechte Wahl, aufpassen muss man bei den verschiedenen Lizenzmodellen.
Wikitude
Das von der österreichischen Firma Wikitude bereitgestellte AR Framework hat sich in den letzten Jahren zu einem sehr praktischen Werkzeug für AR Developer entwickelt. Neben AR Tracking bietet es auch location based Services und 3D Object Targets.