Mittelalterliche Spielumgebung

Ein Blick hinter die Kulissen der Medieval Game Environment – jetzt für UE5

26. September 2023
Hallo zusammen, wir freuen uns, verkünden zu dürfen, dass wir unsere Medieval Game Environment, die ursprünglich Februar 2021 für Unreal Engine 4.26 veröffentlicht wurde, mit neuen Funktionen versorgt haben. 

Die Umgebung unterstützt jetzt sämtliche neuen Funktionen der Unreal Engine 5 und Audio wurde vollständig überarbeitet. Die Medieval Game Environment ist hier im Unreal Engine Marketplace zum Herunterladen erhältlich.
 

Was es mit der ursprünglichen Version von Medieval Game Environment auf sich hat? 

Die Medieval Game Environment ist ein spielbares Erlebnis der nächsten Generation von Quixel Team bei Epic – dem Team hinter Megascans. Die Umgebung wurde ursprünglich Februar 2021 für Unreal Engine 4.26 veröffentlicht. Mit Version 5.3 haben wir uns entschlossen, der Umgebung einen neuen Anstrich zu verpassen und die neuesten Funktionen der Engine zu integrieren. 

Hier eine Vorschau auf unsere Neuerungen und ihre Entwicklung.
 

Upgrade auf UE5

Bei einer Konvertierung eines Projekts von UE4 bleiben die UE4-Standardeinstellungen erhalten, aber einige wichtige Einstellungen wurden beim Wechseln von 4.26 auf 5.3 geändert. Wenn Sie sich unseren Leitfaden zum Upgraden Ihres Projekts auf UE5 angesehen haben, kennen Sie sich bereits bestens mit den Grundlagen des Vorgangs aus. 

Für diese Umgebung haben wir alle Projekteinstellungen ausgewechselt: DX12, SM6, Shadow Method, Methoden dynamischer globaler Beleuchtung, Reflexionsmethoden und die statische Beleuchtung wurde deaktiviert. Das führte zu einer verbesserten Performance im Vergleich zur Ursprungsversion. 
(Links) Unreal Engine 5 | (Rechts) Unreal Engine 4

Das Meiste aus Nanite herausholen

Wir sind der Meinung, dass man durch die neueste virtualisierte Geometrie ein Projekt noch etwas aufwerten kann. In diesem Projekt wurde alles Nanite-kompatible zu Nanite konvertiert, und einige Objekte wurden mit äquivalenten Megascans-Objekten in Nanite-Auflösung ersetzt. 

Heißt das, jetzt ist alles perfekt? Nicht ganz. Bei Bäumen gab es ein Problem, bei dem die Blätter in der Distanz verschwanden, wenn "Bewahrungsbereich" in den Nanite-Einstellungen aktiviert war. Außerdem mussten einige Spline-Meshs mit instanzierten statischen Meshs ausgewechselt werden, weil sich unter anderem die Unterstützung von Spline-Meshs für Nanite noch in Entwicklung befindet. 

Noch dazu haben wir die Einstellung "Welt-Positionsversatz" (WPO) im Projekt geändert. Dadurch konnten wir VSM-Cache-Invalidierungen durch WPO auf Distanz verringern. 
 

Es werde Licht mit Lumen

Wir sind bei unseren dynamischen globalen Beleuchtungs- und Reflexionsmethoden auf Lumen umgestiegen und haben damit alles an die Leistungsstandards von UE 5.3 angehoben, wodurch sich der Fotorealismus der Szene drastisch verbessert hat. Die Konvertierung der Vegetation auf Nanite trägt zu Lumen bei und führt dazu, dass die Beleuchtung der Szene weitaus mehr der Welt entspricht. Lokale Beleuchtung wurde ebenfalls für verbesserte Beleuchtung in Innenräumen angepasst. 
(Links) Unreal Engine 5 | (Rechts) Unreal Engine 4

Anpassung von Virtuellen Shadow-Maps 

Wir sind im Projekt von Cascading Shadow-Maps auf Virtuelle Shadow-Maps zur Verbesserung der Schattenauflösung umgestiegen. Dadurch hat sich die Leistung in einigen Bereichen verbessert. Zuallererst wurden dadurch Probleme mit Kontaktschatten behoben – viele kleine Vegetations-Meshs führten beispielsweise zu ungewollten Schatten-Cache-Invalidierungen, weshalb diese ausschließlich durch Kontaktschatten ersetzt wurden. Um das zu beheben, haben wir verschiedene Einstellungen vorgenommen (z. B. direktionales Licht wirft nur Kontaktschatten auf Non-Shadow-Casing-Meshs).

Außerdem haben wir sichergestellt, dass sämtliche Quellen für eventuelle Shadow-Cache-Invalidierungen auf "Beweglich" gestellt wurden. Das bedeutet, WPO, Skelett-Meshs usw. verwenden im gesamten Projekt alle die neuen Einstellungen. 
 

World Partition

Das Originalprojekt hatte keine Streaming-Kapazitäten. Daher haben wir die Level auf World Partition anhand der integrierten Werkzeuge der UE konvertiert und HLODs für die World Partition eingestellt, um den Leistungsanspruch bei Distanz zu verringern. Durch den Wechsel auf World Partition kann die Engine besser Inhalte rein- und rausstreamen, und wir können HLODs verwenden, um die Performance entfernter Geometrie zu verbessern.


Konvertierung auf Niagara

Zu Transparenzzwecken: Cascade ist veraltet und wird ab UE5 nicht mehr unterstützt, daher war diese Umwandlung erforderlich. Dabei konnte unser VFX-Künstler einige der Cascade-Assets in ein Niagara-System komprimieren, wodurch die Leistung ebenfalls verbessert wurde.
 
(Links) Unreal Engine 5 | (Rechts) Unreal Engine 4

Temporal Super Resolution (TSR)

Das Projekt wurde für TSR und dynamische Auflösung auf Konsolen optimiert. Da andere Grafikfeatures der nächsten Generation von der Auflösung abhängig sind, können wir anhand von TSR weniger Pixel auf höherer Qualität rendern, während wir bei einer 4K-Auflösung bleiben. Das Ergebnis ist also in allen Bereichen schneller, besser und effizienter.
 

Brandneues, vollständig überarbeitetes Audio

Das Audio unserer Ursprungsversion war nicht ganz zufriedenstellend und wir wussten, dass wir es erheblich verbessern konnten. Dafür haben wir viele unserer bisherigen Standardsysteme ausgewechselt, um MetaSounds, unser prozedurales zuerst in UE5 integriertes Audiosystem, nutzen zu können. Folgende Schritte waren nötig:

Zuerst haben wir alle SoundClass-Assets aus dem Projekt entfernt und ausschließlich Submix-Busse und Audio Modulations verwendet, was uns einen Neustart bezüglich Pegelmanagement, Routing und unserer allgemeinen Herangehensweise beim Mischprozess ermöglichte. 

Zweitens haben wir für etwas Ordnung gesorgt und alle Dateinamen umbenannt, an Assettypen angepasst und nicht verwendete Audio-Assets entfernt. Das ist für den Benutzer nicht einsehbar, kann aber die Größe des Projekts erheblich verringern, und der Projektordner wird durch ungenutzte Assets nicht mehr unnötig zugemüllt.

Außerdem profitieren wir von Soundscapes, die an dynamische Tageszeiten gebunden sind. Diese zeitbasierten Auslöser sind in die Verwaltungs-Blueprints von SoundScape integriert und bieten Nachtversionen von SoundScape-Paletten für Wälder und Maisfelder. Durch diesen adaptiven Audioansatz wird unsere gesamte Szene im Vergleich zu vorher dynamischer und immersiver. 

    Und jetzt?

    Medieval Game Environment 2.0 ist jetzt im Unreal Engine Marketplace erhältlich. Wir freuen uns auf Ihr Feedback in unseren Foren.