Willkommen im Metaverse
In den letzten Wochen durfte ich mit einem Team den Metaverse Auftritt meines Arbeitsgebers im Decentraland umsetzen. Ein Erfahrungsbericht.
Willkommen im Metaverse
Vor rund 9 Monaten hat sich bei uns ein interdisziplinäres Team geformt mit dem Projekt Metaverse. Aufgrund der neuen Unternehmensstrategie waren neue Themen und die Zusammenarbeit über bestehende Teams gewünscht. Das Thema Metaverse war gerade groß in den Medien, weshalb wir eine fast 6 monatige Recherche gestartet haben mit den Fragen: Wo werden wir unsere Firma wie repräsentieren?
Was ist Metaverse?
War die erste zentrale Frage die beantwortet werde musste. Viele reden darüber, aber eine klare Definition davon existiert nicht. Es geht um eine virtuelle Welt in der man sich mit anderen austauschen kann. Eigentlich zählt heute jedes MMO dazu. Aus Sicht einer Firma fallen jedoch Spiele weg, man möchte sich doch eher in einem Business Kontext präsentieren. Neben der Abgrenzung zu Spielen möchte man auch auf eine unabhängige Plattform setzen, die keiner Firma gehört (anders als Meta). Aus diesen Erkenntnissen war schnell klar, Decentraland ist die Plattform unserer Wahl. Basierend auf einer Blockchain mit eigener Währung (MANA) ist diese Welt dezentral organisiert und es gibt keine Organisation dahinter die den Stecker ziehen, oder eines Tages Eintrittsgeld verlangen könnte.
Planung
Kryptowährung zu kaufen ist als Firma gar nicht so einfach. Insgesamt brauchten wir fast 3 Monate und Experten einiger Abteilungen um rechtssicher virtuelles Land einzukaufen. Während an dem Kauf noch gearbeitet wurde begann die Planung der Gebäudes. Es sollte das Unternehmen repräsentieren und auffallen. Viel Fantasie und Kreativität waren gefragt, schließlich wurde ein wirklich tolles High-Poly.Modell erstellt. Für den Verwendungszweck Decentraland wurde dieses dann mehrfach überarbeitet und in ein Low-Poly-Objekt konvertiert.
Umsetzung
Bei der iterativen Umsetzung kam dann schließlich ich als Software Entwickler ins Spiel. Nicht nur sollte ich das Gebäude einfügen, zahlreiche Interaktive Features sollten den Besuch in ein Abenteuer verwandeln und so für einen guten Eindruck im Metaverse sorgen. Gemeinsam mit dem 3D Artist habe ich fast zwei Wochen Intensiv an Animationen, Kollisionsobjekten und interaktiven Features gearbeitet. Dank der harten Arbeit konnten wir aber noch knapp vor Beginn der Messe viele Ideen umsetzen und unser Gebäude in einen vorzeigbaren Zustand bringen.
Nachteile von Decentraland
Die größten Nachteile von Decentraland ist im Grunde die Tatsache, dass es sich um keine richtige Game Engine handelt. Deshalb ist man als Entwickler und 3D Content Lieferant großen Restriktionen unterlegen. Als Entwickler kann man nicht auf eine große Sammlung von Funktionen wie beispielsweise bei der Unreal Engine zugreifen, außerdem muss man mit TypeScript entwickeln. Beides machen den Fortschritt für einen gelernten Spieleentwickler mühsam. Bei den Assets hat man Limits hinsichtlich der Anzahl und Größe von Texturen, der Polygonen, der Shader, der Animationen usw. Viele geplante Funktionen mussten wir deshalb auf kreative Weise lösen. Immer wieder musste das Gebäudemodell überarbeitet werden, um da und dort noch das eine oder andere Polygon einzusparen, oder eine zusätzliche Textur für das Interieur frei zu bekommen.
Fazit
Nach 2 Wochen Arbeit am Projekt konnte ich viele Ideen der Kollegen im Code umsetzen und unser Gebäude für die erste Präsentation auf einer Firmenmesse finalisieren. Das Feedback von dort wird zeigen wie es mit unserem Team und dem Projekt weiter geht.
Wir freuen uns über einen Besuch! Unser Gebäude ist an folgenden Koordinaten zu finden: -31, -3
Glückwunsch zur erfolgreichen Umsetzung des ersten Projektes im Decentraland. Die sehr kleinen 3D Modelle ist sicherlich eine besondere Herausforderung. Für tragbare Gegenstände gilt eine Grenze von 2 MB. Für Szenen gilt eine Grenze von 15 MB pro Parzelle.
Es gibt einige Möglichkeiten, wie Sie Ihre Modelle optimieren können, um die Ladezeit und die Leistung in Decentraland zu verbessern. Hier sind einige Tipps:
Verwenden Sie das glb Format anstelle von gltf, da es binär ist und viel weniger Speicherplatz benötigt.
Reduzieren Sie die Anzahl der Dreiecke, Körper, Materialien und Texturen in Ihren Modellen, um die Szenenbeschränkungen einzuhalten.
Verwenden Sie Texturen mit Breite und Höhe in Pixeln, die den folgenden Zahlen entsprechen:
2
4
8
16
32
64
128
256
512
1024
Verwenden Sie das Tool glTF pipeline, um einige Optimierungen vorzunehmen, die Ihre Modelle leichter und schneller zum Herunterladen machen.
Verwenden Sie das Prinzip des Lazy Loading3, um Inhalte nach Regionen zu laden, anstatt alles auf einmal zu laden.
glTF pipeline ist ein Tool, das einige Optimierungen an Ihren 3D-Modellen vornimmt, die sie leichter und schneller zum Herunterladen machen. Sie können es als Kommandozeilen-Tool oder als Node.js-Modul verwenden. Hier sind einige Beispiele für die Verwendung von glTF pipeline als Kommandozeilen-Tool:
Um ein glTF-Modell in ein glb-Modell zu konvertieren:
gltf-pipeline -i model.gltf -o model.glb
Um ein glb-Modell in ein glTF-Modell zu konvertieren:
gltf-pipeline -i model.glb -o model.gltf
Um ein glTF-Modell mit Draco-Kompression zu optimieren:
gltf-pipeline -i model.gltf -o modelDraco.gltf -d
Um separate Texturen zu speichern:
gltf-pipeline -i model.gltf -t
Aber dies werden Sie sicherlich schon alles kennen. Ich hätte mir gerne Ihr Land angesehen. Den Link vermisse ich.
Viele Grüße
Ralf
Danke für die Info, ich habe diese Information im Beitrag ergänzt. Wir sind unter den Koordinaten -31,-3 zu finden.