App-Aufbau
Der Portal Editor ist eine Companion-App für Object by Object, mit der die persistenten WorldMaps für das Spiel erstellt und getestet werden können.
Tourenübersicht
Im Portal Editor findet man zuerst eine Übersicht über die bereits erstellten Touren. Dazu gibt es eine Karten- sowie eine Listenübersicht, in der alle erstellten Portale und Geschichten aufgelistet sind.
Portal Details
Durch Auswahl eines Portals öffnet sich die Portalseite, auf der sich alle relevanten Informationen zum ausgewählten Portal befinden.
Dazu gehören die genaue Position des Portals auf Basis der Koordinaten (3.1), im CMS hinterlegte Bemerkungen (3.2) sowie alle im CMS und lokal gespeicherten WorldMaps (3.3, 3.4).
Über den +-Button (3.5) lässt sich eine ganz neue WorldMap erstellen.
Falls das Portal als Ad-Hoc-Session ohne WorldMap geplant ist, lässt sich über den Button Start Ad-Hoc-Session (3.6) die automatisierte Platzierung des Portals und der enthaltenen Objekte in einer Ad-Hoc-Session testen.
WorldMap Details
Nach Auswahl einer WorldMap werden alle Optionen zur Arbeit mit der WorldMap aufgelistet.
Session-Einstellungen
- Show Debugging Options (4.1) startet die AR-Session in einem Debugging-Modus, bei dem alle in der Session erkannten Flächen und Punktwolken visualisiert werden. So wird der Fortschritt des aktuellen Scanning-Prozesses sowie der genaue Inhalt einer gerade geladenen bzw. erstellten WorldMap transparent gemacht. Der maskierende Effekt des Portals wird dabei entfernt.
- Set Alignment (4.2) definiert welche Flächen beim Scannen für die Erstellung der WorldMap berücksichtigt werden sollen:
- Hori: Nur horizontale Oberflächen werden erkannt
- Verti: Nur vertikale Oberflächen werden erkannt
- Both: Horizontale und vertikale Oberflächen werden erkannt
- None: (In der Praxis werden auch hier horizontale und vertikale Oberflächen erkannt. Soll diese Option aus der App entfernt werden?)
Aktionen
Unter den Session-Einstellungen befinden sich die Optionen zur Arbeit mit der ausgewählten WorldMap:
- Play Session (4.3) lädt die aktuelle Version der WorldMap und verändert diese nicht
- Create New Session/Edit Session (4.4) startet eine AR-Session mit der aktuellen Version der ausgewählten WorldMap und reichert diese während der Session mit weiteren Informationen an
- Create Local Copy (4.5) dupliziert die aktuelle Version der WorldMap und speichert diese lokal ab
Das im CMS hinzugefügte Hinweis-Bild kann über den Hinweis-Bild-Button (4.6) am unteren Bildschirmrand angezeigt werden.
Ist eine WorldMap in einem zufriendenstellenden Zustand, so kann diese über den Export-Button (4.7) exportiert werden.
AR-Session
Sobald die AR-Session startet, wird die ausgewählte WorldMap im Hintergrund geladen und der Scanning-Prozess beginnt. Während des Scannens werden die Topologie und Oberflächenbeschaffenheit der Umgebung analysiert und diese Daten mit den in der WorldMap abgespeicherten Daten abgeglichen. Gibt es eine hinreichende Übereinstimmung, so werden die 3D-Objekte an den in der WorldMap gespeicherten Orten im Raum positioniert.
Eine WorldMap enthält eine Reihe an Daten. Zu den Datenpunkten einer WorldMap gehören:
- Erkannte horizontale und vertikale Flächen
- Punkte auf Oberflächen im Raum (inkl. deren Farbe)
- Objekt-Anker, die für die Positionierung von Objekten benutzt werden
Im Debugging-Modus werden die projizierten Flächen und Punkte visualisiert.
Während des Scanning-Prozesses werden die Oberflächen der Umgebung analysiert und die Ergebnisse mit den in der WorldMap gespeicherten Daten abgeglichen. Sobald es eine Übereinstimmung gibt, werden die in der WorldMap referenzierten 3D-Objekte im Raum positioniert.
Wenn die Session mit einer neuen WorldMap ohne gespeicherte Flächen und Objekt-Anker startet, dann wird das Portal mittig auf der zuerst gefundenen Fläche positioniert. Die Objekte werden in einem Halbkreis um das Portal herum positioniert. Da zu diesem Zeitpunkt keine Informatioenn über die Topologie des Raumes außerhalb dieser ersten Fläche vorliegen, kann es sein, dass Objekte innerhalb von räumlichen Hindernissen positioniert werden. Eine Umpositionierung ist aber kein Problem.
Einrichten der Szene
Sobald die Objekte im Raum positioniert sind, kann dann die Szene eingerichtet werden. Die Position und Rotation aller Objekte kann durch die folgenden Interaktionen beliebig angepasst werden:
- Durch die Auswahl des Objektes mit einem Finger und eine anschließende Drag-Bewegung oder die anschließende Bewegung des Gerätes, kann die Position des Objektes angepasst werden
- Die Rotation wird durch eine Auswahl mit zwei Fingern und anschließende Rotation dieser verändert werden
Speicher-Einstellungen
Standardmäßig ist während der Session der Auto-Save-Modus ausgeschaltet. Die Daten der ausgewählten WorldMap werden dann nicht automatisch mit den Daten der aktuellen Session angereichert. Stattdessen findet das Speichern entweder durch Auswahl des Save-Buttons (5.2) oder durch die Bestätigung des Speicherns beim Beenden der Session statt. Über den Auto-Save-Toggle (5.1) kann ein automatisches Speichern aktiviert werden.
Performance-Informationen
Am unteren Bildschirmrand (5.3) werden Performance-Statistiken zur aktuellen Session dargestellt. Ist die Performance einer Session nicht optimal, d.h. die Bildschirmrate fällt unter 30 FPS, sollten Maßnahmen zur Verbesserung der Performance ergriffen werden. Eine vollständige Auflistung der Optionen gibt es hier.