Update zur Veröffentlichung von Figments.nrw

Auf dem Weg zu einer stabilen Version

Unser Ziel ist es, ein Framework bereitzustellen, das es Ihnen ermöglicht, interaktive und immersive Lernerfahrungen zu erschaffen. Bedauerlicherweise sind in den letzten Phasen unserer Vorbereitungen für die Veröffentlichung einige unvorhergesehene Fehler aufgetaucht. Um die Standards, die wir uns für Figments.nrw gesetzt haben, aufrechtzuerhalten, haben wir uns entschlossen, die Veröffentlichung kurzzeitig um etwa zwei Wochen zu verschieben.

Wir sind entschlossen, diese Probleme auch nach dem Ende des Förderzeitraums unseres Forschungsprojekts AR/VR.nrw gewissenhaft zu beheben. Wir hoffen, dass Figments.nrw, sobald es verfügbar ist, Ihre Erwartungen erfüllen und übertreffen wird. Wir entschuldigen uns für etwaige Unannehmlichkeiten, aber wir sind zuversichtlich, dass diese zusätzliche Zeit uns erlauben wird, einige dieser Fehler zu beheben, den Benutzeroberflächen den letzten Schliff zu geben und zusätzliche hilfreiche Inhalte zur Verwendung und Implementierung von Figments.nrw auf dieser Website zu erstellen.

Warum verzögert sich die Veröffentlichung?

Für die Verzögerung gibt es zwei Hauptgründe:

  1. Unser Ziel ist es, kollaboratives Lernen in immersiven Welten zu ermöglichen. Zu diesem Zweck haben wir Methoden für die Netzwerkkommunikation, die skalierbare Server-Orchestrierung und den Voice-Chat implementiert. Während wir diese während der Entwicklung ausgiebig genutzt und getestet haben, haben wir im letzten Jahr Teile dieser Methoden auf offenere und frei nutzbare Gegenstücke umgestellt. Betrachten wir exemplarisch den Voicechat, so haben wir während der Entwicklung auf die Agora Engine zurückgegriffen, da diese kommerzielle Lösung im Rahmen ihres kostenlosen Plans einen für uns schnell und einfach einzubindenden Service bot. Das war sehr hilfreich, um unsere ersten Prototypen so schnell wie möglich zum Laufen zu bringen. Da diese Lösung mit dem Wachstum von Figments.nrw nicht gut skalieren würde (da wir das Volumen, das der kostenlose Plan abdeckt, wahrscheinlich überschreiten würden), sind wir im vergangenen Jahr auf WebRTC umgestiegen. Dies war auch unter der Perspektive notwendig, unseren Quellcode frei von kommerziellen Abhängigkeiten zu machen.

    Während wir zu Beginn des Projekts in erster Linie eine PC-basierte Virtual-Reality-Anwendung entwickeln wollten, haben wir in den letzten Jahren gelernt, dass es eine große Nachfrage nach Anwendungen gibt, die auf eigenständigen Headsets laufen. Dies senkt die Kosten für die Nutzung von Virtual Reality in Gruppen, da man keinen High-End-PC benötigt, und erleichtert auch die Vorbereitung und Durchführung eines Virtual-Reality-Seminars, da der oft mühsame Einrichtungsschritt, bei dem alle PCs, Headsets und deren Verbindungen zum Laufen gebracht werden müssen, entfällt. Um dies zu realisieren, haben wir den Kern unserer Software-Architektur geändert, um auch Android-basierte Stand-Alone-Headsets zu unterstützen und haben dies beispielhaft für Pico-Geräte implementiert. Die Änderung eines so großen Teils unserer Kernkomponenten zu diesem späten Zeitpunkt war ein Risiko, das wir bereit waren einzugehen: Die Vorteile dieser Änderung ermöglichen es, Figments.nrw in Zukunft leichter zu skalieren und Ihnen eine Version von Figments.nrw zur Verfügung zu stellen, die Sie einfach auf Ihrem Headset installieren können.

    Beim Testen von Figments.nrw in vernetzten Sitzungen über dedizierte Server oder dynamische Kubernetes-Cluster traten bei den letzten Tests vor dem Release einige Fehler auf, die wir nicht erwartet hatten und die bei der lokalen Nutzung von Figments.nrw oder als Einzelspieler nicht aufgetreten sind. Um diese Fehler zu beheben und Ihnen ein fehlerfreies kollaboratives immersives Erlebnis zu bieten, benötigen wir etwas zusätzliche Zeit.

  2. Wir haben in den letzten drei Jahren eine solide Grundlage für immersive Lernanwendungen geschaffen, die von Grund auf offen und frei sind. Dieser Zeitraum brachte auch außerhalb des Rahmens unseres Projekts ganz eigene Herausforderungen mit sich. Während wir unsere Funktionen entwickelten, sei es in der Projektgruppe oder durch einen der vielen Beiträge (siehe Spotlights), war das erste Ziel immer, ein stabiles und zuverlässiges Werkzeug zu entwickeln, wobei Aspekte wie Benutzeroberflächen eine geringere Priorität hatten. Durch Benutzerstudien und erste praktische Anwendungen (z. B. wird ein Fork von Figments.nrw im Projekt FoProVR verwendet und von Nils Mack an der Universität Wuppertal gewartet) haben wir festgestellt, dass es bei der Erstellung von virtuellen und immersiven Welten an einer kohärenten Designsprache und Benutzererfahrung fehlte. In den letzten Monaten haben wir daher alle unsere Methoden überarbeiten und dabei ein (hoffentlich) kohärentes Design für die Benutzeroberfläche entwickelt. Für die Überarbeitung der verbleibenden Funktionen (z.B. die Bearbeitung von Lerninhalten) benötigen wir noch etwas mehr Zeit, hoffen aber, dass wir Ihnen damit am Ende ein nahtloses Erlebnis bieten können.

Wir entschuldigen uns für die Unannehmlichkeiten, die diese Verzögerung mit sich bringt.

Feature Spotlights

Wir möchten nun einige der wichtigsten Funktionen von Figments.nrw darstellen, die entweder direkt von unserem Kernteam entwickelt wurden oder durch Beiträge von Studenten und wissenschaftlichen Mitarbeitern, die uns auf unserem Weg unterstützt haben, ermöglicht wurde. Um ihnen allen einen Platz in diesem Rampenlicht zu geben, finden Sie im Folgenden eine nicht erschöpfende Liste aller Beiträge, die wir in den letzten drei Jahren erhalten haben.

Die Liste ist alphabetisch geordnet und spiegelt nicht die Größe des Beitrags oder die Rolle im Forschungsprojekt AR/VR.nrw wider – wir sind für jeden einzelnen von ihnen sehr dankbar.

  • Daniel Bachmann: Partial Project Coordination, Visual Computing, Software Architecture, Rendering, File IO, Learning Spaces and States, Wrist UI
  • Sevinc Eroglu: Authoring Tools, Natural Interactions, NVPL-Implementation, Virtual Camera
  • Christian Dominic Fehling: UI/UX (Desktop UI, XR UI), Didactic Design, Transfer, Showroom, 3D Asset Generation
  • David Gilbert: Netcode, Natural Interactions, Pico/Android Port, File IO, Git CI/CD, Infrastructure, System Administration, Server Orchestration, Scene Travel
  • Christian Helwig: Personal Space, ReadyPlayer.me Integration
  • Anton Kindsvater: Crystalline Structure Importer, NVPL-Implementation
  • Nils Adrian Mack: Initial Android/Pico Port, Fork-Maintainer FoProVR of BUW
  • Dr. Jens Maiero: Project Coordination, Audio Annotations, File IO, Quick UI
  • Dr. Sinja Müser: Evaluation, Transfer, Didactic Design
  • Vanessa Speeth: Wrist UI, Player States, Showroom
  • Felix Voigtländer: Node-based Visual Scripting (NVPL)
  • Nico Walheim: Grab Mode Navigation
  • Sven Warmuth: Development Support, WebRTC, User/Role Management
  • Sebastian Wiederspohn: XR Interactions (Ray, Direct, Poke), Interaction Networking, Object Highlighting, Permission Management

Inhalte nahtlos verarbeiten

Eine der Hauptfunktionen von Figments.nrw ist die Möglichkeit, Assets sowohl von der lokalen Festplatte als auch von Webdav-Servern wie Sciebo.nrw nahtlos zu importieren. Experimentell haben wir zudem die Integration von Drittanbietern wie Sketchfab getestet und erfolgreich implementiert. Da letztere zurzeit aber noch unseren privaten API-Schlüssel verwendet, reichen wir dieses Feature nach sobald es auf ein alternatives Login-Verfahrungen umgestellt ist.

Egal, ob Sie mit 3D-Modellen, Bildern, Präsentationen oder Audiodateien arbeiten, unsere Software ermöglicht es Ihnen, diese Elemente mühelos in Ihre Virtual-Reality-Umgebung zu integrieren. Diese Fähigkeit steigert nicht nur die visuelle Attraktivität Ihrer immersiven Welten, sondern ermöglicht auch eine fesselnde und bereichernde Lernerfahrung.

  • 3D-Modelle (.glb, .gltf)
  • Avatare (ReadyPlayer.me)
  • 3D-Zeichnunge (natives Figments-Format)
  • Audio-Dateien (.wav)
  • Texte (.txt)
  • Bilder und Präsentationen (.jpg, .png)
  • Kristalline Strukturen (.cif)

Konzeptionell ist FileIO eine der Kernkomponenten von Figments.nrw, die tief in andere Systeme integriert ist. Wir haben dieses System so aufgebaut, dass es so erweiterbar wie möglich ist: So wurde die Unterstützung für kristalline Strukturen im .cif-Dateiformat erst später im Rahmen eines Studentenprojekts hinzugefügt. Wir hoffen, dass diese Erweiterbarkeit es uns ermöglicht, später weitere Dateien zu importieren, von anderen gängigen Formaten für die bestehenden Dateitypen bis hin zu ganz neuen Arten von Inhalten.

Natürliche Interaktionen und Navigations-Metaphern

Quelle des im Video gezeigten 3D-Modells ist Smoggybeard | Solar System Model (Orrery)

Die virtuellen Welten, die wir in Figments.nrw erschaffen, sind in der Regel größer als der uns zur Verfügung stehende physische Raum, so dass es nicht immer möglich ist, von raumbezogenen Navigationsmetaphern zu profitieren. Obwohl wir es vorziehen, uns auf natürliche Weise in unseren Welten zu bewegen, haben wir Möglichkeiten entwickelt, um auch in größeren Räumen zu navigieren:

  • Natürliche Bewegung: Bewegen Sie sich einfach und Ihr Avatar wird Ihnen folgen. Dies ist in Kombination mit Teleportation und Snap Turn unser Standard-Navigationsschema.
  • Teleportation: Benutzen Sie den Analogstick oder das Touchpad Ihres Controllers, um zu weit entfernten Orten in Ihrer virtuellen Welt zu teleportieren.
  • Snap Turn: Tippen Sie einfach den Analogstick nach links oder rechts, um sich zu drehen.
  • Fliegen: In den Fortbewegungseinstellungen können Sie von Teleportation auf Fliegen umschalten. Anschließend steuern Sie einfach mit dem Analogstick und Ihrer Hand, in welche Richtung Sie fliegen möchten.
  • Grab Move: Während Teleportation und Fliegen eine recht komfortable Navigation durch kleine und mittelgroße Umgebungen ermöglichen, haben wir für noch größere Räume eine schnellere Navigationsmethode bevorzugt. Mit Grab Move können Sie die Welt buchstäblich anfassen und sich entweder durch sie hindurchziehen oder die Welt nach Ihren Bedürfnissen skalieren. Sie müssen das andere Ende der Welt besuchen? Verkleinern Sie die Welt einfach auf die Größe einer Murmel, drehen Sie sie um und vergrößern Sie sie wieder. Dieser Modus kann zusätzlich zur Teleportation oder zum Fliegen verwendet werden.
  • Komfortfunktionen: Besonders das Navigieren mit Fly oder Grab Move kann zu Reisekrankheit führen. Um dies zu lindern, können Sie in den Bewegungseinstellungen einige hilfreiche Komfortfunktionen aktivieren, z. B. konstante oder dynamische Vignetten, die Ihr Sichtfeld während der Navigation einschränken, oder die Deaktivierung der Rotationskomponente von Grab Move.

Interaktionen mit Visual Scripting erstellen

Figments.nrw ermöglicht es Ihnen, mithilfe von visuellen Skripten die Interaktionen in Ihren virtuellen Umgebungen zu gestalten. Durch das Hinzufügen von Knotenpunkten zu 3D-Objekten können Sie deren Verhalten und Interaktionen detailliert gestalten. Von der Greifbarkeit von Objekten bis hin zur Definition von logikgesteuertem Verhalten und Objekt-zu-Objekt-Interaktionen.

Mit dieser experimentellen Funktion können Sie derzeit ein oder mehrere kleine Programme innerhalb Ihrer virtuellen Szene erstellen. Jedes Programm kann eine Vielzahl von Knoten mit unterschiedlichen Funktionen enthalten. Wir sind dabei, einen eigenen Blogbeitrag zu diesem Thema zu verfassen, schauen Sie also zu einem späteren Zeitpunkt wieder vorbei.

Gestaltung von Räumen und Lernmodulen

Setzen Sie Ihre Kreativität frei und erstellen Sie interaktive virtuelle Welten mit den umfassenden Tools von Figments.nrw. Neben dem Import von Assets und dem Skripting von Interaktionen können Sie ganze Räume und Lernmodule entwerfen. Definieren Sie Zustände für diese Räume und sorgen Sie so für einen kohärenten Ablauf während des gesamten Lernprozesses. Unsere Software versetzt Sie in die Lage, Ihre Inhalte effektiv zu strukturieren, und ermöglicht die Realisierung von immersiven Virtual-Reality-Lern- und Schulungsumgebungen, die sowohl informativ als auch fesselnd sind.

Intern haben wir diese Funktionen als „Power Point“-Metapher verstanden, da wir dies unseren Anspruch, die Erstellung dynamischer virtueller Umgebungen so einfach wie möglich zu gestalten, gut getroffen hat. Um ehrlich zu sein, ist die Gestaltung einer ganzen Welt immer noch komplexer als die Erstellung einer Power Point, aber diese Werkzeuge nehmen einem immerhin den Großteil der Arbeit ab.

Bauen Sie einfach Ihren Lernraum auf, indem Sie 3D-Assets importieren und anordnen (das ist so ähnlich wie ein Folienmaster) und dann neue Zustände für diese Umgebung erstellen. Jeder Zustand kann geänderte Elemente des Basiszustands, neue Elemente oder Löschungen enthalten, und Ihre Lernenden können sich frei durch diese Lerninhalte bewegen. Dies ermöglicht die Replikation von hauptsächlich linearen Prozessen und Aktivitäten: Wir hoffen, dies in Zukunft weiter erforschen zu können, zum Beispiel für die Erstellung interaktiver nicht-linearer Medien.

Mit anderen zusammenarbeiten

Figments.nrw unterstützt den Betrieb von Gameservern unterschiedlichster Art. Gemein ist allen, dass so mehreren Benutzern ermöglicht wird, gemeinsam immersive Welten zu erleben. Mit dem richtigen Setup können diese Welten auch persistent werden, bleiben also dauerhaft bestehen, was unter anderem die Schaffung eines virtuellen Campus ermöglicht. Lassen Sie uns wissen, wenn Sie so etwas planen!

Die von uns unterstützten Server-Lösungen sind:

  • Lokaler Server / PC: Dies ist der einfachste Fall und erfordert nur, dass Sie entweder den Figments.nrw-Client im localhost-Modus ausführen (zugänglich über die Einstellungen) oder den Linux-Server-Build auf einem lokalen Rechner installieren. In beiden Fällen gelten ähnliche Einschränkungen, da Sie und alle Ihre Clients sich im selben gemeinsamen Netzwerk befinden und die Firewall und die Ports entsprechend konfiguriert werden müssen. Erfahrungsgemäß ist dies nicht unbedingt praktikabel in Universitätsnetzwerken oder eduroam direkt, kann aber in Ihrem eigenen Netzwerk recht einfach eingerichtet werden.
  • Dedizierter Server: Diese Lösung ähnelt der Verwendung von Client- oder Server-Anwendung, bietet Ihnen aber ein vorkonfiguriertes Docker-Image. Diese Containerisierung ermöglicht eine flexiblere Kontrolle über die Installation und Aktualisierung Ihres Servers, da sie in bestehende (Git-)Workflows und somit leichter in bestehende Rechenzentren integriert werden kann.
  • Kubernetes Cluster: Für skalierbare und persistente immersive Welten kann Figments.nrw auf Kubernetes-Clustern ausgeführt werden, z. B. in einer Umgebung mit vielen Container-Knoten, von denen jeder in der Lage ist, das oben erwähnte Docker-Image auszuführen. Wir verwenden das Open-Source-Framework Agones, um die Server-Orchestrierung zu erleichtern, daher muss Ihr Server dies unterstützen. Die Einrichtung ist etwas aufwändiger als bei den anderen Lösungen, daher werden wir zu einem späteren Zeitpunkt eine spezielle Support-Seite mit weiteren Anweisungen bereitstellen.
Je nachdem, welche Methode Sie verwenden, kann und muss der Gameserver unterschiedlich konfiguriert werden. Hierzu werden wir Ihnen in Zukunft zusätzliche Informationen und Support-Artikel zur Verfügung stellen.

Desktop Modus

In unseren anfänglichen Konzepten sahen wir Figments.nrw in erster Linie als eine Virtual-Reality-Anwendung. Daran hat sich nichts geändert, aber wir erkannten die Notwendigkeit, auch Nutzern, die nicht an immersiven Erfahrungen teilnehmen können, die Möglichkeit zu geben, sich mit Gleichgesinnten in diese virtuellen Welten zu begeben. Darüber hinaus haben wir festgestellt, dass einige Teile des Erstellungsprozesses einer virtuellen Umgebung einfacher in einem konventionellen Desktop-basierten Interaktionsmodus durchgeführt werden können. Aus diesem Grund haben wir unsere Unterstützung für die weniger immersive Nutzung von Figments.nrw ohne Head-Mounted Displays erweitert. In diesem Modus navigieren Sie Ihren Avatar in einer Third-Person-Perspektive, ähnlich wie in einem herkömmlichen Videospiel. Sie haben zwar nicht die Werkzeuge zur Hand, um eine immersive Navigation oder natürliche Interaktionsmetaphern (wie das Greifen und Manipulieren von Objekten mit den Händen) zu realisieren, aber Sie können Assets importieren und laden, einen virtuellen Raum gestalten und diesen mit anderen gemeinsam erkunden.

Die Zukunft

Der Förderzeitraum von AR/VR.nrw endete am 31.08.2023. Wir planen, bis zur (verzögerten) Veröffentlichung zusätzliche Unterstützung zu leisten, hauptsächlich in Form der Arbeit, die notwendig ist um die oben genannten Fehler zu beheben. Diese Arbeit muss außerhalb des Rahmens von AR/VR.nrw durchgeführt werden, was bedeutet, dass einige, wenn nicht alle von uns jetzt andere akademische oder berufliche Verpflichtungen haben. Wir haben auf eine frühere Veröffentlichung gehofft, so dass wir in der Lage gewesen wären, Ihre Bedürfnisse und Ihr Feedback direkter zu berücksichtigen, während wir immer noch innerhalb des Projektrahmens arbeiten, und sind traurig, dass wir dies nicht erreicht haben.

Wir sind aber davon überzeugt, dass Figments.nrw als Open-Source-Framework für immersive Welten heute relevanter denn je ist und hoffen, dass wir Wege finden, es in Zukunft zu einer nachhaltigen Lösung auszubauen.

Bis dahin können Sie uns immer noch Ihre Fragen und Anfragen über info@figments.nrw zukommen lassen, wo wir ehrenamtlich in kleinem Umfang Unterstützung leisten.

Table of Contents