Dieses Repository enthält den Code für den im Rahmen des Praxisprojektes erstellten Prototypen zur Darstellung von AR-Inhalten im Web.
Die Funktionen sind für die Interaktion auf mobilen Endgeräten ausgelegt, können aber auch eingeschränkt auf dem Desktop aufgerufen werden.
Der Prototyp kann unter https://arlebnispfad-location.vercel.app/ oder unter folgendem QR-Code aufgerufen werden:
Im Rahmen des Projektes "Historische Augment Reality Tour 'ARlebnis OBK'" der VHS Oberberg soll entlang der Straße der Arbeit in Wiehl und Wipperfürth ein innovatives Konzept zur digitalen Weiterbildung mittels Augmented Reality (AR) entwickelt werden. Es sollen ältere, nicht technikaffine Menschen sowie jüngere, technikaffine Menschen als auch Schulklassen gleichermaßen an neue Technologien herangeführt und ihnen gleichzeitig der Zugang zur Geschichte und Kultur ihrer Region ermöglicht werden. Der Fokus des Vorhabens liegt somit in der Förderung einer generationenübergreifenden, inklusiven und nachhaltigen Strategie zur digitalen Weiterbildung.
Der Prototyp kann zwar lokal ausgeführt werden, jedoch sind die AR-Inhalte nur am Campus Gummersbach der TH Köln zu sehen.
Es stehen zwei Optionen zur lokalen Ausführung zur Verfügung: über die Live Server Extension in VSCode oder über Cloudflare Tunnels. Die Ausführung über Cloudflare Tunnels ist dabei zu empfehlen.
- Repository klonen
git clone [email protected]:antonztsv/arlebnispfad-location.git
- In den Ordner wechseln
cd arlebnispfad-location
- Projekt in Visual Studio Code öffnen
code .
-
Installation Cloudflared
MacOS - Homebrew:
brew install cloudflare/cloudflare/cloudflared
Andere Betriebssysteme: Cloudflared Downloads
-
Live Server starten
- Auf den
Go Live
Button in der unteren Leiste von VSCode klicken oder CMD
+Shift
+P
- Live Server: Open with LIve Server
-
Quick Tunnel starten
cloudflared tunnel --url http://localhost:5500
Die bereitgestellte URL kann im Browser des Smartphones geöffnet werden.
-
HTTPS in der Live Server Extension aktivieren
Folgenden Anweisungen folgen: How to enable HTTPS on live server (Visual Studio Code)
-
Live Server starten
- Auf den
Go Live
Button in der unteren Leiste von VSCode klicken oder CMD
+Shift
+P
- Live Server: Open with LIve Server
Die Seite kann anschließend über die lokale IP-Adresse des Systems + dem Live Server Port (5500) aufgerufen werden.
Der Prototyp zeigt die Möglichkeiten zur Einbindung von Audio-Inhalten an AR-Spots mittels AR.js und A-Frame auf.
Die index.html
dient als Startseite und Einstiegspunkt in den Prototypen. Hier können verschiedene AR-Spots hinzugefügt und ausgewählt werden.
Im pages
Verzeichnis werden die jeweiligen AR-Spots definiert und über eigene Ordner eingebunden. Als Beispiel wurde hier der AR-Spot der TH Köln gewählt.
Die index.html
Datei enthält die AR-Szene, die über die a-scene
Komponente definiert wird und die wichtigsten Einstellungen enthält. Zudem wird hier der 2D-/Webcontent definiert, welcher die Informationen zum AR-Spot enthält und als Interaktionsschnittstelle für die Audioinhalte dient.
Zur Verknüpfung der Geodaten mit den AR-Inhalten wird das GeoJSON Format (RFC 7946) verwendet. Dieses ermöglicht eine einheitliche Einbindung der Koordinaten.
Beispiel:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"name": "Mensa",
"audio": "mensa",
"description": "Die Mensa der Technischen Hochschule Köln am Campus Gummersbach ist ein lebendiger Treffpunkt für Studierende und Mitarbeiter. Hier werden köstliche Mahlzeiten und Snacks serviert, die den Gaumen verwöhnen und die Energie für den Studienalltag liefern. Die Mensa schafft eine angenehme Atmosphäre, in der sich Menschen treffen, austauschen und gemeinsam eine kulinarische Erfahrung genießen können."
},
"geometry": {
"coordinates": [7.562724725621337, 51.02231978624965],
"type": "Point"
},
"id": 0
}
]
}
Die index.js
Datei ist für die Initialisierung der Interaktionselemente auf der Seite sowie der Audiointeraktionen zuständig.
Die render.js
Datei enthält die Logik zur Einbindung der AR-Inhalte. Hier werden die Geodaten aus der data.json
Datei ausgelesen und die AR-Spots anhand der Koordinaten in der Umgebung platziert.
Das components
Verzeichnis enthält die Komponenten, die für die A-Frame Entitäten verwendet werden.
Die Komponente clicker.js
implementiert z.B. den Click-Handler für die jeweiligen Entitäten.
Das assets
Verzeichnis enthält die Audioinhalte und das 3D-Modell, die an den AR-Spots platziert und abgespielt werden sollen.
Die Inhalte in diesem Prototypen wurden mit Hilfe von OpenAIs ChatGTP als Text generiert und über veed.io's Text-to-Speech in Audioinhalte überführt.
Folgende Proof of Concepts wurden im Rahmen des Projekts erstellt und durchgeführt:
- PoC: Interaktion mit Audiowiedergabe #1
- PoC: Räumliche Audiowiedergabe #2
- PoC: Interaktion mit AR Inhalten #3
Aktuelle Bugs und Probleme sind unter Known Issues / Bugs / Open Questions #4 zu finden.
Anton Zaitsev - [email protected]