ARSpace

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche

Hintergrund der Projektgruppe/-idee

Im Rahmen eines AR/VR-Hackathons der Google Developer Group in Erlangen entstand die Idee eine Applikation mit Apples neuem ARKit zu entwickeln. Dieses, mit iOS11 neu eingeführte Framework, ermöglicht die Erstellung von Augmented Reality Applikationen für iPhone und iPad. Mit ARKit erstellte Apps setzen iOS11 und eine A9-Prozessor oder höher voraus (ab iPhone 6s/ iPhoneSE, sowie iPad ab März 2017). Erste Grundlagen aus dem Hackathon konnten herangenommen werden, um die Applikation im Rahmen des Interaktionspraktikums weiter zu entwickeln.


Ziel des Projekts

Ziel des Projekts ist es ein kleines Spacegame zu entwickeln. Während des Spiels muss der Spieler einem virtuellen Asteroidenfeld, welches in den Raum projeziert wird, mit einem ebenfalls in den Raum projezierten Flugzeug ausweichen. Wird das Flugzeug getroffen endet das Spiel und ein Highscore wird ausgegeben.


Spielablauf

Der tapfere Pilot muss als erstes eine geeignete leere Fläche finden. Die Spielfläche wird durch eine graue Fläche markiert. Ein grüner Playbutton erscheint und fordert den Spieler auf das Spiel zu initzialisieren. Jetzt kann die Höhe des Spielfeldes über die Position des Flugzeuges festgelegt werden. Nach erneutem Drücken des Playbuttons wird das Spiel gestarten und Asteroiden fangen an auf das Raumschiff zuzufliegen.

Ziel ist es möglichst lange den Asteroiden auszuweichen. Kollidiert ein Asteroid mit dem Flugzeug endet das Spiel und ein Highscore wird in den Raum projeziert.


Funktionen der Applikation

• Detektion von geeigneten Flächen

• Begrenzen des Spielfelds durch einen virtuellen Käfig

• Eigene Berechnungen für Spielfeld und Skalierung der Objekte

• Spawnen eines beweglichen Objekts (Spaceship/Flugzeug)

• GUI für Spielstart und Control-Buttons

• Regelmäßiges Spawnen von neuen Asteroiden - zufällig über das komplette Spielfeld

• Collsion Detection für Spielende (Physical Shape der Objekte)


Arbeiten mit SWIFT

Swift ist eine objektorientierte Programmiersprache, entwickelt von Apple und beietet, neben Objective-C, eine Möglichkeit für Entwickler Anwendungen für iOS und macOS zu programmieren. Zum erstellen der App ARSpace wurde mit der neusten Version, Swift4, gearbeitet, welche im September 2017 veröffentlicht wurde. Als Entwicklungumgebung wird Xcode ab Version 9 genutzt.


Arbeiten mit ARKit

ARKit arbeitet mit einer Technologie, die Apple selber als "World Tracking" bezeichnet. Dabei greift das Framework auf die Kamera und die Motion-Sensoren des iPhone/iPad zu. Diese Technik ist auch als visuelle-trägheits Odometrie bekannt. Dabei werden eine Vielzahl an Punkten in der Umgebung "gepinnt" und während der Bewegung des Geräts verfolgt. Es wird also kein komplettes 3D-Modell des Raumes erstellt, jedoch werden die Punkte in der Umgebung so genau angepeilt, dass selbst zentimetergenaue Messungen möglich sind. Ebenso erkennt das Framework ebene Flächen, wovon auch ARSpace gebrauch macht. Apple selbst weist darauf hin, dass "World Tracking" nicht 100%ig genau ist. Die besten Ergebnisse lassen sich durch gute Lichtverhältnisse und einen detailreichen Untergrund erzielen, da so mehr Referenzpunkte in der Umgebung gefunden werden können. ARKit bietet allerdings die Möglichkeit eine Vielzahl an Einstellungen, je nach Anwendungsfall der App, vorzunehmen.


Links

Demo-Video

Projektdatei

ARKit

Swift

World Tracking

Xcode