Ein gutes Technologieverständnis ist für alle Teammitglieder von wesentlicher Bedeutung, daher wird nachfolgend auf die Besonderheiten der Azure Spatial Anchors, kurz Anker, einer verhältnismässig neuen Technologie, eingegangen.
Azure Spatial Anchors – Anker
Für die Erkennung der zu augmentierenden Objekten werden Azure Spatial Anchors (zu Deutsch «räumliche Anker»), ein Cloud-Dienst von Microsoft, verwendet. Räumliche Anker – in der Kurz-form Anker – können dauerhaft in realen Umgebungen geschaffen und mit digitalen Inhalten ergänzt werden. Folglich ermöglichen es Anker, digitale Inhalte an einem bestimmten physischen Ort zu platzieren. Die Inhalte können dann auf verschiedenen Geräten in derselben Position und Ausrichtung relativ zur Umgebung angezeigt werden.
Anker speichern zum einen die GPS-Koordinaten und zum anderen Merkmale (Englisch: Feature Points) aus der Umgebung, aus der unsichtbare 3D-Punktwolken (Point Cloud) gebildet werden. Dieser Datensatz aus einzelnen Punkten funktioniert als ein dreidimensionales (x, y, z) Koordinatensystem, aus welchem sich die Räumlichkeit programmiert.
Vorgehensweise
Wie werden Anker platziert? Um ein Anker zu platzieren, muss der genaue Standort ausgesucht werden, wo der Nutzer oder die Nutzerin stehen sollte, um die Sehenswürdigkeit und das digitale Artefakt zu betrachten. Anker können nur in einem Radius von maximal fünf Metern platziert werden.
Sie müssen an permanenten Objekten, wie bspw. Gebäudestrukturen (Wände, Mauern, Decken, Sockel usw.), Skulpturen, festes Mobiliar etc. befestigt werden. Wenn Möbel zur Verankerung verwendet werden, dürfen diese weder verschoben noch entfernt werden. Besondere Obacht ist notwendig bei Fenstern und Fensterläden, Türen, Beleuchtung, Dekorationsobjekten und dergleichen. Wenn ein Anker in der Platzierung Schwierigkeiten bereitet und gleichzeitig die Sehenswürdigkeit mittels Bild gut zu identifizieren ist (z.B. eine Fassade, ein Bild an der Wand, eine Vitrine, usw.), ist zu überlegen, ob stattdessen mit einer einfachen Bilderkennung gearbeitet wird. Die Anchor-Platzierung geschieht mittels einer separaten App, der «Anchor Collector» App, welche von der Firma afca. ag entwickelt wurde.
Die Sehenswürdigkeiten müssen vor der Ankerplatzierung als «Addressables» in der Anchor Collector App erfasst werden. Das Projektteam erfasst die Beschreibungen in einer JSON Datei, welche als Input und Schnittstelle für die Programmierung dient. «Addressables» müssen aktuell gehalten werden. Zwischen Platzierungssessions müssen die Anker verifiziert und ggfs. bereinigt werden.
Ein Beispiel:
{ "TenantId": "Davos", "RouteId": "Route01_Wildbodenhaus", "Name": "Rathaus", "Description": "Ernst Ludwig Kirchner nahm das architektonisch moderne Erscheinungsbild von Davos in seiner Kunst auf: Das Gemälde «Rathaus Davos Platz» zeugt davon, die von Kirchner gemalten Flachdachhäuser sind eindeutig erkennbar. Das Gemälde weist eine prägnante Linearität auf. Auch in diesem Bild trifft die Natur auf Zivilisation, Modernität auf alpine Archaik, Licht auf Schatten. So scheint die linke Bildhälfte den Tag zu zeigen, die rechte hingegen die Nacht.", "XrIntroText": "Finde heraus, wie Ernst L. Kirchner das Rathaus gemalt hat, indem du das Gemälde sichtbar klickst.", "PoiTypes": ["Kunst_und_Kultur"], "location": {"type": "Point", "coordinates": [9.820635, 46.79337]} }
Um die Ortung so präzise wie möglich zu machen (Triangulation), müssen alle Dienste, die vorhanden sind, eingeschaltet sein: Mobilfunk, GPS, Bluetooth, Wi-Fi.
- Die Anchor Collector App starten. Bei jedem Anchoring muss die App neu gestartet werden, indem die laufende Session gestoppt und eine neue Session gestartet wird.
- Die genaue Position einnehmen, wo der Nutzer stehen wird. Das Anchor in einem Umkreis von fünf Meter an einem immobilen Gegenstand festhängen. Dieser Gegenstand sollte immer gleich aussehen). Wenn ein Anker zu weit weg ist, lässt es sich nicht speichern, das System generiert keine Modelnummer.
- Durch Tippen auf den Gegenstand einen Anchor platzieren. Ein grünes Anchor bedeutet «ausgewählt». Ist das Anchor gut, kann Content aus den «Addressables» Liste zugefügt werden. Der Content kann entlang den Achsen verschoben werden. Über die RayCast Funktion (Checkbox rechts unten) können die Abmessungen des Contents angepasst werden, so wie die Rotation entlang der Achsen.
- Das Objekt sollte jetzt in die Richtung des Nutzers ausgerichtet sein. Das Smartphone-Gerät absolut gerade halten, sodass die Achsen senkrecht sind. Bei Anchors an einer Wand wird die Y-Achse zur Z-Achse, der Dienst kennt nur Böden. Dennoch kann ein Objekt sehr gut an einer Wand platziert werden, die Wand wird jedoch als Boden interpretiert.
- Wenn ein Anker nicht gespeichert werden kann (Fehlermeldung), muss die Anchor Collector App neu gestartet werden
- Um einen Anchor zu löschen, den goldigen Diamant antippen, worauf der «Löschen»-Button erscheint; wenn das nicht funktioniert, nochmals tippen.
Die Anker müssen vor Ort getestet werden. Wenn ein Anker soeben gesetzt wurde, kann es mit der Anchor Collector App sofort geprüft werden. Dies ist die einzige Methode, wenn die Sehenswürdigkeit noch nicht in der Endnutzer-App integriert ist.
Aus dem System kann eine Liste der Anker extrahiert werden. Sie beinhaltet sämtliche Anker mit einer eindeutigen ID, einer Location (Länge- und Breitengrad) und dem Namen des Prefabs. So können falsch platzierte und Duplikate erkannt und nachfolgend im System korrigiert werden.