... | ... | @@ -184,8 +184,8 @@ Das Zuteilen der Körperteile ist indexbasiert. Will man eine neue Kategorie ein |
|
|
|
|
|
Zugleich muss auch die Struktur von `public/AvatarConfigurator/configuration.json` entsprechen angepasst werden. Auch in `server.js` ist die entsprechende Struktur anzupassen.
|
|
|
|
|
|
# Evaluation
|
|
|
## Performance
|
|
|
# Evaluation der Performance
|
|
|
|
|
|
Zur Evaluation der Performance wurden Avatare per Code eingefügt. Anschließend wurde im Abstand von 50ms eine zufällige Kombination aus Körperteilen und Farben für einen Avatar an zufälliger Position angewendet. Dies soll einen normalen Betrieb des Konfigurators simulieren. Während der Abstand von 50ms zuerst kurz erscheinen mag, ist zu bedenken, dass jede noch so kleine Änderung der Farbe über den Farbwähler ein Event auslöst.
|
|
|
|
|
|
### Desktop
|
... | ... | @@ -206,4 +206,20 @@ Ein Problem stellt die geringere Fenstergröße auf mobilen Endgeräten dar. Es |
|
|
## Bekannte Probleme
|
|
|
* Auf mobilen Browsern bricht die Framerate in periodischen Abständen ein. Dies könnte ein Garbagecollection-Problem sein. Eventuell kann die Neuinstanziierung der Modelle bei jeder Änderung vermieden werden.
|
|
|
|
|
|
* Das Namensschild der Avatare wird nicht immer richtig aktualisiert. Dieses Problem ist leider zu spät aufgefallen und konnte nicht rechtzeitig gelöst werden.
|
|
|
|
|
|
# Mögliche Erweiterungen
|
|
|
Das Laden des Konfigurators über das Internet dauert länger als gedacht. Hier wäre ein Ladebildschirm von Vorteil.
|
|
|
|
|
|
Aktuell wirken die Avatare etwas statisch. Dies könnte durch das Abspielen einer *Idle*-Animation (leichtes Atmen und hin- und herschauen) verbessert werden. Da glTF als Modellformat verwendet wird, sollte dies ohne größere Hürden möglich sein. Eine gute, kostenlose Quelle für Animationen ist [Mixamo](https://www.mixamo.com/)
|
|
|
|
|
|
Die Beleuchtung der Szene könnte noch verbessert werden. Aktuell wird nur ein *DirectionaLight* zusammen mit einem *AmbientLight* verwendet. Das *AmbientLight* ist dabei besonders hell eingestellt. Eine Typische 3-Punkt Beleuchtung könnte hier die Ausleuchtung verbessern. Da ThreeJS mit Physically Based Rendering arbeitet, könnte auch ein HDRi-Bild für den Himmel verwendet werden, dies trägt in der Regel enorm zur Glaubwürdigkeit bei (vgl. [Image-based Lighting auf Wikipedia](https://en.wikipedia.org/wiki/Image-based_lighting)
|
|
|
|
|
|
Beim Wechsel zwischen den Avataren könnte die Kamera von einem Avatar zum Anderen "schweben" (Interpolation) um so den abrupten Wechsel angenehmer zu gestalten.
|
|
|
|
|
|
Die erstellten Avatare könnten als Grundlage für das Einführen von Avataren in den 3D-Viewer dienen. Auch könnten die Gesichter der Avatare animiert werden, um so ein Webcambild der Teilnehmer zu emulieren. Dies wäre ein weiterer Schritt in Richtung Privatssphäre.
|
|
|
|
|
|
Aktuell kann man die Konfigurationen nur herunterladen. Man könnte diese auch, ähnlich zu den Profilbildern, auf dem Server speichern, sodass die Konfiguration beim erneuten Beitreten wieder geladen werden können.
|
|
|
|
|
|
# Fazit
|
|
|
In diesem Projekt wurde ein 3D Avatarkonfigurator erstellt. Der Konfigurator bietet die Möglichkeit ein vordefiniertes Mannequin mit verschiedenen Frisuren, Oberteilen, Hosen und Schuhen in jeweils frei wählbaren Farben zu definieren. Dieser Avatar kann dann als Profilbild genutzt werden und die Konfiguration für spätere Zwecke heruntergeladen und wieder hochgeladen werden. Auch weitere Anwendungsgebiete sind hier denkbar, z.B. als Icebreaker in einer Vorstellungsrunde. Die technische Umsetzung bietet ein solides Fundament für Erweiterungen, es sollte allerdings mehr Wert auf die asynchrone Natur des Internets gelegt werden. Insgesamt wurde nur ein Ziel nicht erreicht und es kann daher festgehalten werden, dass das Projekt erfolgreich umgesetzt wurde. |