small profile picture

Projektübersicht

Bachelor-Arbeit

Einführung

Hier werde ich demnächst meine Bachelor-Arbeit vorstellen und Teile davon hosten. Ziel ist es, mit möglichst dezentraler und Open-Source Technologie ein Web3.0 zu bauen. Wobei sich das Web3.0 auf VR-fähige Webseiten bezieht.

Projektinfos

Projekt Bachelor-Arbeit
Team Solo
Beginn 2021
Geplanter Abschluss Herbst 2022
Umstände Studium - Abschluss
Umfang ca. 18k Wörter
Status FIN - PAUSED

Thema ist die dezentralisierte Entwicklung einer VR-Webanwendung, sowie die Evaluierung der verschiedenen technischen Möglichkeiten dafür.

Beispielbild Website

Zum Webshop WIP

Idee

Mein Plan ist es, dass Webseiten abseits von ihrer normalen Darstellung von Inhalten auch VR-Inhalte bieten. So soll erkannt werden, wenn die Webseite von einem VR-Headset benutzt wird. Daraufhin soll die Seite dem User entweder eine 3D-Darstellung von Objekten anbieten oder direkt auf eine VR-Fähige Version dieser Seite weiterzuleiten.

Beispiel: ein Webshop erkennt das VR-Headset und bietet an die Produkte per Knopfdruck in 3D greifbar machen. Alternativ könnte auch ein ganzes virtulles Einkaufszentrem geladen werden und mit den Artikeln des Webshops gefüllt werden.

Einführung in Dezentral

In der BA-Arbeit wird auch auf die Basics eingegangen: wie überhaupt dezentral definiert wird, wie man es Klassifizieren kann und wie das Netzwerkmodell dahinter ausschaut. Zu dem werden auch die Vorteil und Nachteile von einem dezentralen Ansatz gegenüber dem klassischen Server-Client Model erklärt.

Unterschiede Zentral, Dezentral, Distributed

Architekturunterschiede anhand von Netzwerkmodellen veranschaulicht.

Technische Umsetzung

Daran arbeite ich gerade. Aktuelles Ziel ist so viel wie möglich mit HTML, CSS, JavaScript zu erledigen.

Fürs Darstellen sehe ich aktuell 3 Optionen:

Dezentraler Ansatz

So, wie das ursprüngliche Internet geplant war, soll es möglich sein diese Webseiten von zu Hause aus zu hosten. Damit ist gemeint, dass nicht übermäßig große Server benötigt werden sollen, sondern ein simpler Apache-Server reichen sollte. Daher ist bei Stufe 2 geplant, die virtuelle Umgebung bereits als "Prefab" in Unity bereitzustellen. Damit müsste der Webshop nur noch definieren, welches Prefab er benötigt und anschließend die Webshop-Items im richtigen Format übertragen. Dies könnte durch das Wegfallen der Weboberfläche sogar noch effektiver als ein normaler Webshop sein.

Ziel der Arbeit

Umsetzung eines solchen Web Shops und hosten auf einer kleinen Amazon EC2 Instanz. Der Link dazu soll direkt hier im Projekt zu finden sein (WIP). Wie viele Stufen ich dabei umsetzt steht noch offen im (virtuellen) Raum.

Plan B

Plan B ist eine VR-Classroom darzustellen und P2P-Kommunikation zwischen den Usern anzubieten. Dies bietet mit der P2P Verbindung zwar bessere Möglichkeiten zur Dezentralisierung (und zusätzliche Themen wie Datenschutz), jedoch stellt es eine deutlich höhere Herausforderung dar und ist in Stufe 1 weniger anschaulich als ein Webshop.

Milestones

Bachelor Thesis

  • Erstellen von einem Webshop (Artikelübersicht)
  • Anlegen von Produkten
  • 3D Objekte für Produkte in Blender erstellen
  • 3D Objekt per Model-Viewer allen Usern zur Verfügung stellen
  • Webshop mit VR-Headset testen
  • Virtuelle Umgebung mittels three.js aufbauen
  • Objekt-Loader für Artkel integrieren
  • "Enter VR"-Button per iframe hinzufügen
  • Jimex.io-Logo und Box als Verpackungsmaß hinzufügen
  • Theoretischen JSON-Standard für komplex XR Umgebungen entwerfen

Adding Dezentral & KI

  • 4. Artikel erstellen (Platzhalter)
  • 4. Artikel per KI aus Foto generieren lassen
  • Artikel per IPFS hosten
  • Lösung zum verteilen bei den Usern in IPFS finden
  • three.js Umgebung anpassen für das Laden von Links

Unity

  • JSON-Standard erweitern (Metadaten)
  • Unity Projek einrichten (OpenXR)
  • Prefabs für Objekte erstellen (Objekt die im JSON verwendet werden)
  • VR Browser erstellen (laden von JSON anhand URL)
  • VR Browser über normalen Browser starten lassen wen JSON erkannt wird
  • Klassische Website in VR-Browser integrieren

Ideen

  • Webhop per Holochain
  • Den User das Objekt in Web-XR nehmen lassen
  • Kompletter Webshop (Räume, Regale, ...) via three.js erstellen