Es hilft nichts: Wenn man im E-Learning up to date bleiben möchte, muss man ständig neue Technik kaufen. So auch in diesem Fall, um aktuelle Augmented-Reality-Apps auszuprobieren. Sowohl mein Samsung S6 als auch mein iPad Air2 waren gerade die Geräte, die nicht mehr bzgl. ARCore/ARKit unterstützt werden. Insofern Kauf von S9 in der Hoffnung, wieder für ca. 2 Jahre aktuell zu sein.
Vorhandene Apps ausprobieren ist eine Sache, selber so etwas zu gestalten eine ganz andere Sache. Nach „Blooms Taxonomie“ wären wir da schon auf einer recht hohen Ebene …
Sehr beeindruckend finde ich die AR-Möglichkeiten mittels des recht neuen ARCore für Android mit den Merkmalen „Umgebungserkennung, Bewegungserkennung und Lichtabschätzung“: Gut gefallen haben mir z.B. die Apps „Google Expeditionen AR“ (Vincent Van Gogh-Gemälde u.v.m.), „NASA SpacecraftAR“ oder „Paint AR“ (virtuelle Luftschlangen incl. Schatten mit integrierter Recording-Funktion u.v.m.).
Will mann nun ARCore-Apps selbst erstellen, gibt es netterweise für Unity 3D seitens Google hier ein einfaches „Hello AR“-Beispiel. Dann muss man „nur noch“ in Unity 3D die entsprechenden AR-Konfigurationen machen, um dieses Beispiel dann auf ein für ARCore passendes Handy (und das sind derzeit eben leider nur ganz wenige Modelle, s.a. https://developers.google.com/ar/discover/supported-devices) zu übertragen.
Idee
Mein Ziel war, ähnlich den o.g. Apps mein Stofftier-Nilpferd in eine ARCore nutzende Android-App zu bekommen, d.h. das Nilpferd-3D-Modell später in beliebigen realen Räumen einfügen zu können, näher darauf zuzugehen bzw. sich davon wegzubewegen sowie es im realen Raum als 3D-Modell wahrzunehmen. Die Umsetzung dieser Idee war dank des „Hello AR“-Beispiels (und vermutlich meiner Vorkenntnisse in Unity 3D) erstaunlich einfach.
Umsetzung
Verwendet habe ich für das Ganze meine bereits für VR genutzte Unity 3D-Version „2017.3.1f1 Personal 64bit“. Hilfreiche Anleitungen für ARCore waren:
- https://unity3d.com/de/partners/google/arcore
- https://developers.google.com/ar/develop/unity/quickstart-android (mit https://github.com/google-ar/arcore-unity-sdk/releases sowie https://developer.android.com/studio/debug/dev-options#enable)
- https://developers.google.com/ar/develop/unity/tutorials/hello-ar-sample
Was leider nicht geklappt hat, war „Instant Preview“: https://developers.google.com/ar/develop/unity/instant-preview
Ausschlaggebend ist wohl „On Windows machines with an integrated GPU, the Unity Editor’s video feed is not mirrored back to your phone.“ Aber da es nicht lange dauert, per „Build and Run“ das App-apk zu erzeugen und per USB aufs Handy zu übertragen, kann ich verschmerzen, dass der integrierte Player in Unity 3D (im Gegensatz zur VR-Progammierung, wo er gut klappt), hier nicht mitmacht.
Ein (nicht perfektes, aber zumindest funktionierendes) 3D-Modell des Stofftier-Nilpferdes hatte ich ja schon für meine VR-App verwendet und somit konnte ich es in Unity 3D auch für das AR-Projekt nutzen: Konkret habe ich dafür einfach im Inspector im „Hello AR Controller“-Skript bei „Andy Android Prefab“ das kleine grüne Android-Modell durch mein Nilpferd-Modell ersetzt. Korrigieren musste ich anschließend nur noch den Nilpferd-Modell „Scale Factor“, weil das Objekt sonst so groß im Raum erschien, dass weder Umgebungs- noch Bewegungserkennung richtig funktionierten.
Ausprobieren der modifizierten AR-App
Unterwegs im Waldpark Mannheim habe ich gestern nachmittag einige Male die von mir bzgl. des Nilpferdes angepasste ARCore App „Hello AR U3D“ ausprobiert. Im Folgenden drei Screenshots aus der App als animiertes gif – Start war zu Hause im Flur (die Türstopper sind „echt“, das Nilpferd ist per AR eingefügt). Was man auf den Bildern leider nicht sieht, ist, dass es sich bei dem eingefügten Nilpferd-Modell um ein Objekt handelt, um das man mit Blick aufs Handy-Display herumgehen kann, wobei sich die Perspektive ändert. Ebenso möglich ist es, sich von dem Objekt zu entfernen bzw. sich zu nähern, wodurch es dann größer erscheint und man mehr Details sieht. Das zu zeigen wäre nur per Screenrecording möglich gewesen, was mir jedoch zu aufwändig war.
Wie schwierig es wäre, mit Unity 3D & ARCore nun eine sinnvolle Lern-App zu erstellen (die ja deutlich mehr Features benötigen würde als in dem Beispiel-Skript enthalten sind), kann ich an dieser Stelle noch nicht sagen. Wichtig wären auf jeden Fall zuvor gut erstellte 3D-Modelle.