Veröffentlichung Version 0.2.0

Wir brauchen euer Feedback

Nach viel Arbeit und unglaublich viel Input aus unserem inneren Kreis und von externen Expert*innen sind wir froh, euch nun die erste Version von Figments.nrw zu Verfügung stellen zu können, die von euch getestet und unter die Lupe genommen werden kann. Wie immer in solch umfassenden Projekten gab es Rückschläge und Verzögerungen und leider konnten wir noch nicht alles so umsetzen, wie wir es geplant hatten.

Als Version 0.2.0 trägt Figments.nrw damit im Namen, was wir im weiteren Verlauf dieses Beitrags noch weiter ausführen wollen: Die Entwicklung ist — auch wenn wir schon viel erreicht haben — noch nicht abgeschlossen. Es gibt immer mehr zu tun, Fehler zu beheben und auch Euer Feedback zu berücksichtigen.

Und hier hoffen wir auf eure Mitwirkung:
Bitte testet Figments.nrw!

Wir haben ein öffentliches Gitlab eingerichtet, in dem ihr nicht nur die jeweils aktuellste Veröffentlichung von Figments.nrw herunterladen könnt, sondern auch Fehlermeldungen und Feedback einreichen könnt.

Funktionsumfang Version 0.2.0

Wie im letzten Beitrag angekündigt, existieren leider noch offene Baustellen in Figments.nrw. Während wir einige davon in den letzten zwei Wochen beheben konnten, fällt doch immer wieder etwas auf, das man noch verbessern könnte. Konkret sehen wir in den folgenden Funktionen noch Handlungsbedarf, die euch daher in dieser Version noch nicht oder nicht im vollen Umfang zur Verfügung stehen:

  • Netzwerk & Kollaboration: Leider konnten wir die Fehler in der Netzwerkkommunikation über dedizierte Server noch nicht ganz beheben. Zwar konnten wir uns wieder erfolgreich miteinander vernetzen und auch in VR/Desktop gemeinsam die virtuelle Welt betreten – aber leider ohne Voice Chat. Hier macht uns leider WebRTC in Verbindung mit universitären Firewalls immer noch einen Strich durch die Rechnung. Wir arbeiten daran. Da wir der Meinung sind, dass wir für eine sinnvolle Kollaboration in VR auch aktive Kommunikationsmöglichkeiten brauchen, ohne Discord, Zoom oder ähnliches im Hintergrund laufen zu lassen, reichen wir diese Funktion in einer späteren Version nach.
  • Figmente erstellen: Figmente stellen eine Sammlung von einem oder mehreren Assets dar, die z. B. räumlich positioniert und in Zusammenhang gebracht wurden. Sie können darüber hinaus mehrere Zustände enthalten, z. B. verschiedene Konfigurationen oder Anordnungen der Assets. Während sie initial in einem Standardzustand geladen werden, können Anwender*innen die einzelnen Zustände, ähnlich wie in einer Power Point, linear navigieren. An dieser Stelle fehlen leider noch die letzten User Interfaces für die Erstellung der Figmente, für die aufgrund der Bug Fixes in Vorbereitung dieses Releases noch keine Zeit war.
  • Datenaustausch: Wir binden aktuell Sciebo.nrw über eine WebDAV-Schnittstelle ein. Der freigegebene Ordner, den wir dafür verwenden, ist über die Uni Wuppertal freigegeben. Dadurch ist es uns möglich, auch große Dateien an viele verschiedene Nutzer*innen gleichzeitig zu verteilen und dabei sicher zu sein, dass diese auch auf heimischen Servern gehostet sind. Wir haben geplant, euch zusätzlich die Möglichkeit zu geben, einen eigenen Sciebo-Ordner, quasi als weiteres potenzielles Verzeichnis für eure Dateien, einzubinden. Diese Funktion ist im Hauptmenü zwar schon angelegt, für diesen Release aber noch gesperrt.

Konkret bedeutet das für diese Version, dass ihr zwar eigene Inhalte importieren, aber noch nicht als Figment speichern könnt. Dies reichen wir mit der nächsten Version (siehe Roadmap) nach.

Download, Installation und Benutzerverzeichnisse

Figments.nrw in Version 0.2.0 wird zunächst nur als Windows-basierte Anwendung veröffentlicht und kann mit kabelgebundenen oder kabellos verbundenen VR-Headsets sowie im Desktop-Modus verwendet werden. Da wir OpenXR als Schnittstelle zur Hardware verwenden, sollten alle gängigen Headsets (solange sie OpenXR-kompatibel sind) unterstützt werden. Spätere Versionen werden zusätzlich als Android-Version veröffentlich, die auf Android-basierte Headsets sidegeloaded werden kann.

Die jeweils aktuellste Version von Figments.nrw kann über unser öffentliches Gitlab heruntergeladen werden. Folgt dazu einfach obenstehendem Link, der euch direkt zu den Veröffentlichungen führt. Alternativ könnt Ihr auch die Direkt-Links am Anfang dieses Artikels verwenden. Figments.nrw v0.2.0 liegt sowohl in einer installierbaren Version (empfohlen) als auch als ZIP-Archiv vor.

  • Installer: Hiermit wird Figments.nrw auf eurem Rechner installiert, genauso wie es auch von anderen Anwendungen her bekannt ist.
  • Archiv: Wenn Ihr Figments.nrw nicht direkt installieren wollt, könnt Ihr auch ein Archiv herunterladen und entpacken. Die Anwendung könnt Ihr dann mit der „FigmentsNRW.exe“ starten.

Mit der Installation bzw. dem ersten Ausführen von Figments.nrw wird euer Benutzerverzeichnis eingerichtet, das im Windows-Explorer unter folgender Adresse zu finden ist:

				
					%AppData%\..\LocalLow\ARVRnrw\FigmentsNRW
				
			

Um intern eine korrekte Zurodnung zwischen Dateiformat und Einsatzzweck sicherstellen zu können, verwenden wir einen verzeichnisbasierten Ansatz. Konkret bedeutet das, dass eigene Inhalte nur dann korrekt importiert werden können, wenn sie im korrekten Verzeichnis abgelegt wurden. Am relevantesten sind hierbei folgende Ordner:

  • \GTLF\: Aktuell unterstützen wir nur den Import von 3D-Modellen im GLTF-Format. Diese können im binären Format (.glb), in der Embedded Variante (.gltf ohne Anhänge) oder der Separate Version (.gltf + .bin + Textur-Ordner) vorliegen. Ihr könnt die Dateien direkt in das \GTLF\ Verzeichnis kopieren oder eigene Ordnerstrukturen anlegen. Achtet bei GLTFs mit externen Texturen nur darauf, dass diese zwingend immer einen Textur-Ordner im gleichen Verzeichnis benötigen. GLTF wurde speziell für die effiziente Übertragung und das Laden von 3D-Szenen und Modellen in der virtuellen Realität (VR) und anderen Echtzeit-3D-Anwendungen entwickelt. Es ist ein offener Standard, der von der Khronos Group gepflegt wird. GLTF-Dateien sind kompakt und enthalten sowohl die Geometrie als auch das Aussehen und die Animationen von 3D-Modellen. Dieses Format zielt darauf ab, ein Gleichgewicht zwischen Dateigröße und Rendering-Qualität zu finden, was es ideal für VR-Umgebungen macht, in denen Leistung und visuelle Wiedergabetreue entscheidend sind.
  • \Images\: Für Bilddateien (aktuell .png).
  • \PresentationSlides\: Für Präsentationen, wobei wir aktuell lediglich solche unterstützen, die als Einzelbilder (z.B. aus PowerPoint) exportiert wurden. Kopiert hierzu einfach den Ordner, der die Slides eurer Präsentation enthält, in dieses Verzeichnis. Der Ordnertitel entspricht dem Präsentationstitel.
  • \CrystallineStructures\: Exemplarisch für die Erweiterbarkeit unseres FileIO-Kerns wurde ein Importer für kristalline Strukturen umgesetzt. Diese könnt ihr in diesem Ordner als Crystallographic Information File (.cif) ablegen. In Figments.nrw werden diese dynamisch als 3D-Modell visualisiert und können auf Basis der hinterlegten Daten konfiguriert werden.

Die restlichen Ordner werden für interne Prozesse verwendet, z. B. um eure individualisierten Avatare, Figmente, Zeichnungen oder Audio-Aufzeichnungen lokal abzulegen.

Figments.nrw Hauptmenü

Desktop und VR-Modus

Nachdem Start von Figments.nrw gelangt Ihr ins Hauptmenü. Wenn Ihr direkt einsteigen wollt, könnt Ihr auf den Desktop- oder VR-Knopf auf der rechten Seite klicken. Wenn Ihr auf VR klickt, aber im Desktop-Modus landet, wurde euer Headset nicht korrekt erkannt. Bitte kontrolliert dann, ob das Headset korrekt mit dem Rechner verbunden ist, z. B. über Pico Link und Steam VR. Wenn Ihr mehrere Headsets unterschiedlicher Hersteller verwendet, kontrolliert, dass auch die richtige OpenXR Runtime verwendet wird (z. B. in den SteamVR Settings). Einige Hersteller schreiben sich hier gerne in den Default, z. B. wenn man zwischem Microsofts Mixed Reality Toolkit (u.a. für die Reverb G2) und SteamVR (u.a. für die Pico) wechselt.

Avatare

Wir sind schon seit einiger Zeit Partner von ReadyPlayer.me, mit deren Hilfe wir individualisierbare Avatare für Figments.nrw realisieren. Mit unserem Avatar-Editor könnt ihr eigene Avatare gestalten und in Figments.nrw verwenden. Fügt dazu einfach euren Avatar-Code unter Profil ein, entweder als Full-Body Avatar für den Desktop-Modus oder als Half-Body Avatar für Virtual Reality. Ebenfalls könnt ihr eurem Avatar hier einen Namen geben.

Einstellungen und Lokalisierung

Figments.nrw ist zum Großteil lokalisiert in englischer und deutscher Sprache. Mit Sicherheit sind uns da aber ein paar Fehler unterlaufen, falls Euch also ein Text auffällt der nicht oder falsch übersetzt ist, lasst es uns wissen. Standardmäßig verwendet Figments.nrw die aktuelle Standardsprache eures Systems, Ihr könnt innerhalb der Anwendung aber auch jederzeit wechseln (auch ingame).

Mit den Netzwerkeinstellungen und den Einstellungen zu externen Assetdatenbanken verbergen sich hier noch zwei fortgeschrittene Funktionen, die noch nicht Teil dieser Veröffentlichung sind.

Die Basics

Desktop-Modus

Im Desktop-Modus bewegt ihr euch wie in einem Computerspiel mit Maus und Tastatur. Nutzt WASD, um euch zu bewegen und dreht euch, indem ihr die rechte Maustaste gedrückt haltet. Das Menü könnt ihr über die Escape-Taste öffnen.

VR-Modus

Zu den einzelnen Funktionen, die euch in Figments.nrw in Virtual Reality zur Verfügung stehen, schreiben wir unten mehr. Grundlegend für die Bedienung in Virtual Reality ist, dass Figments.nrw Room-Scale Tracking unterstützt und auf die Bedienung mittels zweier Controller setzt.

  • Navigation: Ihr könnt euch jederzeit ganz natürlich bewegen, wenn ihr in der Realität den entsprechenden Freiraum dafür habt. Steht euch dieser Raum nicht zur Verfügung, könnt ihr euch mithilfe des rechten Controllers teleportieren. Haltet dafür einfach den Analog-Stick (oder das Touch-Äquivalent) [Primary2DAxis] nach vorne gedrückt, zielt und lasst los. Zudem ist Snap-Turn aktiviert, sprich wenn ihr den Analog-Stick links oder rechts antippt, dreht Ihr euch automatisch um 90°. Alternative Navigationsmetaphern, wie Fliegen oder Grab Move werden weiter unten vorgestellt.
  • Aktivieren: Um Funktionen zu aktivieren oder das Menü zu bedienen wird der Trigger des Controllers verwendet [trigger]. Bei den meisten Controller-Typen ist dieser ergonomisch am sinnvollsten mit dem Zeigefinger zu erreichen.
  • Manipulieren: Um Objekte (oder die Welt) zu greifen verwenden wir den Grip-Trigger des Controllers [grip]. Bei den meisten Controllern wird dieser mit dem Mittelfinger (Pico, Reverb, Quest) oder der Handfläche (Index) bedient.
  • Quick UI: Um schnell verschiedene Funktionen aufrufen zu können verwenden wir zusätzlich den Primärknopf des Controllers [primaryButton], bei den meisten als „A“ oder ähnliches bezeichnet.

Quick UI

Über den rechten Controller habt ihr ebenfalls Zugriff auf das Quick UI – die Schnittstelle zu allen erweiterten Funktionen von Figments.nrw.

Haltet zum Öffnen des Quick UIs einfach den Primärknopf eures Controllers gedrückt (bei der Pico ist das z. B. der „A“-Knopf). An eurer Hand werden anschließend im Halbkreis einige Shortcuts zu Interaktions- und Navigationsmetaphern angezeigt. Während das Menü einen einfachen Funktionsaufruf darstellt, wechselt ihr mit den anderen Shortcuts in der Regel in einen anderen Spielerzustand. Was es mit diesen konzeptionell auf sich hat, findet ihr weiter unten.

Um eine dieser Funktionen auszuwählen bewegt einfach eure Hand in die ungefähre Richtung eines Icons. Das muss nicht genau sein und nach kurzer Zeit lässt sich dies quasi aus dem Handgelenk erledigen. Dann müsst ihr den Primärknopf nur noch loslassen und die Funktion wird aktiviert. Folgende Funktionen sind im QuickUI zu finden:

  • Menü: Öffnet das Menü von Figments.nrw, über das ihr Objekte importieren, Figmente erstellen und Räume betreten könnt.
  • Audio Annotationen: Hiermit könnt ihr eure eigene Stimme aufzeichnen und als Notiz im Raum platzieren.
  • 3D Zeichnen: Zeichnet eure Notizen in den Raum.
  • Grab-Move: Eine alternative Fortbewegungsmetapher, bei der Ihr die Welt um euch herum greift und bewegt. Mehr dazu gleich.
  • Objekt Auswahl: Objekte in der virtuellen Welt lassen sich editieren. Um explizit zwischen der Interaktion während des Lernens (in der Regel Greifen, Bewegen und Aktivieren) und der Gestaltungsphase (Editieren) zu unterscheiden, haben wir die Auswahl ausgegliedert.
  • Logik-Editor: Mithilfe diese Werkzeuge lassen sich Objekte logisch miteinander verknüpfen. Das ist zurzeit aber leider noch ein primär experimentelles Feature.
  • Standard: Der zentrale Knopf bringt euch jederzeit in den Standard-Zustand zurück, sprich um den Zeichnen-Modus zu verlassen. Da ihr hierbei eure Hand nicht bewegen müsst, kommt ihr jederzeit mit einem kurzen Knopfdruck zurück in den Standard-Zustand.

Spieler und ihre Zustände

Konzeptionelles zu den Spieler-Zuständen

Mit Spielerzuständen regeln wir, wie ihr mit der virtuellen Welt interagieren und diese manipulieren könnt. Da wir eine Vielzahl unterschiedlichster Interaktions- und Navigatons-Metaphern verwenden, lassen sich Überschneidungen in den Bedienkonzepten leider nicht vermeiden. Wenn die Navigations-Metapher „Teleport“ zum Beispiel die Verwendung des Analog-Sticks vorsieht, so können wir diesen nicht gleichzeitig für die Navigations-Metapher „Fliegen“ verwenden.

Abhängig davon, was Ihr in der virtuellen Umgebung zu einem bestimmten Zeitpunkt machen wollt, wechseln wir  zwischen den benötigten Spielerzuständen und vermeiden somit, das z. B. ein Knopf nicht das macht, was ihr von ihm erwartet.

Interne Spielerzustände

Das System zur Differenzierung zwischen unterschiedlichen Spielerzuständen verwenden wir intern, um zum Beispiel zu unterscheiden, ob ihr ein Objekt direkt in die Hand nehmen, per Ray aus der Ferne greifen oder mittels Poke-Interaction einfach nur drücken wollt. Diese internen Zustände sind in der Regel vergänglich, sprich sie sind jeweils nur für den kurzen Zeitraum aktiv, in dem sie gebraucht werden.

Aktive Spielerzustände

Wenn ihr z. B. über das Quick UI oder das Menü in einen dedizierten aktiven Zustand wechselt, verändern sich teilweise die Funktionen, die ihr mit den Controllern ausführen könnt. Im folgenden sind die aktiven Zustände aufgelistet. In Klammern steht jeweils die Eingabe, die durch den Zustand geändert wird.

  • Standard: Im Standardmodus, also wenn ihr in keinem anderen aktiven Spielerzustand seid, könnt ihr euch mit dem Analogstick teleportieren (und gegriffene Objekte drehen), mit dem Trigger Aktivierungen auslösen und mit dem Grip-Trigger Assets greifen und manipulieren. Zusätzlich könnt ihr Assets auch mit beiden Händen greifen, um diese zu skalieren und zu rotieren.
  • Audio-Annotation (Trigger): In diesem Zustand wechselt euer rechter Controller in den Aufzeichnungsmodus. Während Ihr den Trigger gedrückt haltet, wird über euer Mikrofon eine Aufzeichnung gestartet. Sobald ihr loslasst, wird die Aufzeichnung gestoppt und die Annotation finalisiert. Aktuell ist sie neben der reinen Audio-Komponente durch einen Lautsprecher visualisiert, den Ihr wie jedes andere Asset auch in die Hand nehmen und positionieren könnt. Über ein Kontextmenü auf der Aufzeichnung könnt Ihr u.a. einstellen, ob diese per Raumklang oder Broadcast abgespielt werden soll und ob sie getriggert werden muss oder automatisch startet.
  • 3D-Zeichnen (Trigger): Bei gedrücktem Trigger wechselt euer rechter Controller in den Zeichnen-Modus und ihr könnt nun Zeichnen. Diese Annotationen werden ebenfalls als 3D-Objekt angelegt und lassen sich nach Erstellung manipulieren und in der Umgebung positionieren.
  • Grab-Move (Grip): In diesem  Zustand wechseln linker und rechter Controller in den Grab-Move-Modus. In diesem Zustand könnt ihr euch so bewegen, als würdet ihr die ganze Welt um euch herum ergreifen. Wenn ihr einhändig den Grip-Trigger gedrückt lasst und den Arm bewegt, zieht ihr euch quasi entlang der Welt. Wenn ihr beidhändig die Grip-Trigger gedrückt lasst könnt ihr euch nicht nur bewegen, sondern die Welt manipulieren. Führt die Hände zusammen oder auseinander, um die Welt zu skalieren – bewegt sie um eine gedachte Achse zueinander, um die Welt zu drehen. Eine kleine visuelle Hilfe zeigt euch eure relative Größe zur Welt. Aktuell haben wir die Skalierung auf den Bereich 0.1x-250x limitiert. Lasst uns wissen, ob ihr noch größer oder kleiner werden wollt.
  • Objekt-Auswahl (Trigger): In diesem Zustand könnt ihr mit der rechten Hand Objekte markieren. Zeigt einfach auf diese oder berührt sie und drückt den Trigger. Eine Outline visualisiert aktuell ausgewählte Objekte. Wenn ihr ein bereits ausgewähltes Objekt erneut anklickt wird die Auswahl aufgehoben. Ausgewählte Objekte lassen sich (leichter) im Asset-Editor (siehe weiter unten) bearbeiten.
  • Logik-Editor (Trigger): In diesem Modus passieren mehrere Dinge, die später noch in einem separaten Artikel beschrieben werden. Funktional betrachtet könnt ihr mit einem Long-Press des Triggers einen neuen Knoten auf einem Objekt erzeugen, der es erlaubt dieses um Logik und Funktionen zu erweitern. Zusätzlich schwebt in diesem Modus aktuell noch ein Entwicklermenü vor euch, aus dem globale Funktionen (z.B. ProximityTrigger) in den Raum gezogen und neue Programme generiert werden können.

Menüstruktur

Das Menü unterteilt sich in zwei Kernkomponenten: Die Toolbar, die stehts sichtbar ist und von der aus ihr thematisch abgegrenzte Bereiche des Menüs erreichen könnt. Darüber befindet sich das Canvas, auf dem ausgewählte Menübereiche angezeigt werden. Konzeptionell unterscheiden wir hier zwischen den Werkzeugen, die für unterschiedliche Benutzergruppen am ehesten interessant sind, ergänzt um Statusanzeigen und Einstellungen.

  • Home: Die Ansicht, die beim ersten Aufruf des Menüs angezeigt wird. Aktuell nutzen wir dies nur für Informationen zu uns und der aktuellen Version von Figments.nrw, vorstellbar wäre aber, dies zukünftig auszuweiten. So könnten hier grundlegende Informationen zum aktuellen Lerninhalt oder den aktuell verbundenen Lernenden gesammelt werden.
  • Lernen: Dieser Bereich wird aktuell genutzt, um Informationen zur aktuellen Sitzung anzuzeigen und Annotationen zu erstellen. Dies ist ergänzend zum Quick UI, ermöglicht aber z. B. für 3D-Zeichnungen, die Stiftfarbe auszuwählen. Konzeptionell sehen wir hier noch viel Potenzial, um z. B. Lernaufgaben, Erfolgskontrollen und Feedbackmethoden zu integrieren.
  • Bearbeiten: Der für die Gestaltung immersiver Welten benötigte Kern. Hier sind alle Methoden gesammelt, mit denen Inhalte importiert, berarbeitet, zusammengeführt, gespeichert und mit anderen geteilt werden können.
  • Einstellungen: Hier können verschiedenste Parameter der Anwendung, z. B. zur Fortbewegungsmethode und der persönlichen Schutzsphäre angepasst werden.

Wie diese Werkzeuge funktionieren und wie ihr diese einsetzen könnt ist weiter unten beschrieben.

Virtual Reality: Stationäres oder spielergebundenes Menü

Während am Desktop das Menü über Escape geöffnet werden kann und sich ansonsten wie gängige User Interfaces verhält, stehen uns in Virtual Reality zusätzliche Methoden offen:

Wenn ihr das Menü über das Quick UI aufruft, wird es direkt vor euch erscheinen. Es wird euch auch folgen, wenn ihr den virtuellen Raum navigiert, unabhängig davon, ob ihr geht, teleportiert, fliegt oder die Welt bewegt. Es befindet sich jetzt quasi in einem spielergebundenen Modus, der auch als Lazy Follow bezeichnet wird.

Das Menü kann darüber hinaus wie jedes andere Asset auch von euch gegriffen und bewegt werden. Damit das nicht aus Versehen passiert, gibt es dazu unterhalb des Menüs einen weißen Balken, den sogenannten GrabBar. Wenn ihr das Menü greift, bleibt es an der von euch gewählten Position, es ist dann im Stationary Modus. Das Menü bleibt dort bestehen, bis ihr es entweder schließt oder neu öffnet. Damit ihr es in großen Räumen nicht suchen müsst, erscheint es beim Aufruf stets im Lazy Follow Modus vor euch, auch wenn es zuvor im Raum fixiert wurde.

Werkzeuge und Baukästen

Konzeptionelles: Von Assets zu Figmenten und Räumen

Die folgenden Schlüsselkomponenten bilden die Grundlage unserer immersiven virtuellen Erfahrungen – Räume, Figmente und Assets. Um diese Begriffe hinreichend zu definieren und darzustellen, wie diese Komponenten im Gestaltungsprozess zusammenspielen, holen wir jetzt einmal etwas weiter aus:

  • Räume: Räume sind entsprechend aus der Perspektive der Softwareentwicklung im Wesentlichen Unity-Szenen. Diese Szenen umfassen eine statische 3D-Umgebung mit vorberechneter Beleuchtung. Räume dienen quasi als immersiver Rahmen, in den Assets und Figmente importiert werden können, wodurch eine zusammenhängende und interaktive virtuelle Umgebung entsteht. Da es technisch leider nicht möglich ist, die rechenintensive Berechnung der Beleuchtung (das sogenannte Lightmapping) zur Laufzeit des Programms durchzuführen, können diese Räume nur in der Entwicklungsumgebung angelegt werden.
  • Figmente: Figmente sind kuratierte Sets von Assets, die mehrere Zustände kapseln können und jeweils unterschiedliche Konfigurationen oder Anordnungen darstellen. Jedes Figment beginnt mit einem Basiszustand, der die Assets in der Form wiedergibt, in der sie ursprünglich erstellt wurden. Darüber hinaus können Figmente mehrere zusätzliche Zustände umfassen, von denen jeder entweder dieselben Assets in einer neuen Konfiguration, alternative Assets oder eine Mischung aus beidem beherbergen kann. Diese Flexibilität ermöglicht dynamische Präsentationen und interaktive Erlebnisse und macht Figments zu einem vielseitigen Werkzeug für die Präsentation von Inhalten. Zustände können auf lineare Weise navigiert werden, ähnlich einer strukturierten Progression, was besonders nützlich für die Darstellung von Bildungs- oder linearen Lerninhalten innerhalb unserer Anwendung ist.

    Ihr könnt Figmente direkt in Virtual Reality erstellen und freigeben und sie nach Bedarf verwenden, wiederverwenden und anpassen. Für sich wiederholende Konfigurationen könnt ihr eine Figment-Vorlage erstellen und diese dann als Basis für neue Kreationen wiederverwenden.

    Zumindest theoretisch können mit diesem System auch raumfüllende Umgebungen erstellt werden, wenn z. B. ein entsprechend großes 3D-Modell als GLTF importiert wird. Da hierbei aber wie oben beschrieben kein Lightmapping möglich ist (z.B. um Umgebungen ästhetisch ansprechend zu gestalten) empfehlen wir entweder direkt Räume anzulegen oder die Lightmap in den Texturen des Modells zu integrieren. Da letzteres aber ein eher aufwändiges Verfahren ist, das auch eine nachträgliche Beleuchtung erschwert, gehen wir hierauf nicht näher ein.

  • Assets: In immersiven Welten verwenden wir in der Regel dreidimensionale Objekte zur Visualisierung. Es besteht daher ein erhöhter Bedarf, 3D-Daten so effektiv wie möglich nutzen zu können. Das Verhältnis zwischen dem Erstellungsaufwand und dem Mehrwert, der durch die Nutzung dieser Daten generiert werden soll, muss möglichst günstig sein. Um 3D-Daten aus externen Quellen, z.B. als offene Bildungsmaterialien (OER) und/oder in Objektdatenbanken, integrieren zu können, sollten möglichst viele der gängigen Dateiformate unterstützt werden. Mit Figments.nrw haben wir uns wie oben beschrieben für GLTF als Austausch- und Importformat für 3D-Assets entschieden.

    Darüber hinaus fassen wir unter dem Begriff Assets alle Inhalte zusammen, die ihr über die Dateibrowser in Figments.nrw importieren könnt, also neben 3D-Modellen auch Bilder, Texte, Audiodateien und ähnliches.

Raum-Navigation

Wir haben eine Reihe von Räumen für euch vorbereitet, die ihr nach Belieben erkunden könnt. Wenn ihr im Startmenü nichts geändert habt, startet ihr immer in unserer leeren Vorlage (TemplateScene). Über das Menü könnt ihr hier auch Hilfselemente und Gizmos einblenden, also z. B. ein Raster am Boden. Über den Browser könnt ihr einen der alternativen Räume auswählen und betreten. Wenn ihr mit Mehreren im virtuellen Raum seit (was in der aktuellen Version nur über euer lokales Netzwerk geht), werden hierbei alle eingeloggten Anwender*innen ebenfalls in den neuen Raum teleportiert.

Assets importieren

Über den Asset-Browser könnt ihr eigene Dateien in die virtuelle Umgebung importieren. Standardmäßig ist hier euer lokales Benutzerverzeichnis als Quelle ausgewählt. Über das Dropdown könnt ihr aber auch auf das von uns angelegte WebDAV-Verzeichnis, das von der Bergischen Universität Wuppertal bei Sciebo.nrw gehostet ist, auswählen.

Figments.nrw ist inhärent auf die kollaborative Nutzung ausgelegt. Im Kontext des Datei-Imports bedeutet das, dass Assets nicht nur auf eurer Seite sichtbar sein müssen, sondern zur Laufzeit auch allen anderen eingeloggten Anwender*innen zur Verfügung stehen. Darüber hinaus müssen Bewegungen und allgemeine Zustandsänderungen synchronisiert werden. Aus diesem Grund werden alle Assets, die ihr importiert, auf das zentrale WebDAV-Verzeichnis kopiert, von dort an alle Anwender*innen von Figments.nrw verteilt und somit vervielfältigt. Berücksichtigt dies bitte, wenn ihr eigene Assets einbinden wollt.

Assets, egal ob von eurem lokalen Dateisystem oder von WebDAV, werden beim Import an alle eingeloggten Anwender*innen (und Nachzügler) verteilt und synchronisiert. Das ist durch eine kleine „Ladekapsel“ visualisiert, damit schon während des Uploads/Downloads ersichtlich ist, wo ein Asset erscheinen wird. Standardmäßig spawnen Assets ca. 3m vor euch, im Menü könnt ihr aber auch einstellen, dass sie im Mittelpunkt des Raumes erscheinen. Ebenso könnt ihr dort entscheiden, ob das Menü nach dem Import automatisch geschlossen werden soll.

Assets bearbeiten

Mit dem Asset-Editor könnt ihr einzelne Objekte bearbeiten, zum Beispiel um diese in die Physik-Simulation einzubeziehen (oder nicht). Dabei könnt ihr auswählen, ob in der Ansicht alle Assets im aktuellen Raum oder nur die von euch ausgewählten Assets angezeigt werden. Im Wesentlichen lassen sich hier folgende Dinge einstellen:

  • Transform: Die Position, Rotation und Skalierung des Assets.
  • Physics: Ob, und wie das Asset an der Physik-Simulation teilnimmt.
  • Interactions: Hiermit lassen sich die in Figments.nrw verwendeten Interaktionen pro Asset sperren, z. B. um zu verhindern, dass diese von Anwender*innen verschoben oder gelöscht werden.

Roadmap

Die zukünftigen Veröffentlichungen von Figments.nrw werden angelehnt an das Semantic Versioning nummeriert und folgen dem MAJOR.MINOR.PATCH Schema.

Updates zur Fehlerbehebung werden für die in diesem Beitrag vorgestellte Version 0.2.0 in Form von Patches über unser Gitlab veröffentlicht.

Version 1.0.0 wird demnach der erste Major-Release, bis dahin sind die folgenden Minor-Releases geplant:

  • v0.3.0: Figments-Browser und -Editor (Refaktorisierung & UI)
  • v0.4.0: Logik-Editor (Refaktorisierung & UI)
  • v0.5.0: Netzwerk Update

Diese Versionsziele sind durchaus fluide und werden nach Bedarf und Kapazität unsererseits angepasst. Für diese Versionen gibt es, da wir diese Arbeiten mittlerweile ehrenamtlich durchführen, keinen Zeitplan.

Quellcode

Die Veröffentlichung des Quellcodes erfolgt außerhalb des skizzierten Schemas sobald die Abstimmungen mit den entsprechenden Abteilungen und Rechtsberatungen abgeschlossen sind über unser Gitlab.

Table of Contents