BlogUnreal Engine 5 – Erste Eindrücke

Unreal Engine 5 – Erste Eindrücke

Unreal Nanite_Lumen

Am 5. April 2022 wurde im Rahmen der „State of Unreal“- Präsentation seitens Epic Games die Unreal Engine 5 endlich final veröffentlicht.
Zuvor konnte man schon mit den Early Access und Preview Versionen die Funktionalität ausprobieren, jedoch nur zum Testen und nicht zur Verwendung in echten Produktionen, da die Stabilität hier noch nicht gewährleistet war.
Die Unreal Engine 5 ist tatsächlich als Meilenstein zu betrachten. Sie bringt einige neue Funktionen mit sich, die es so sonst nirgends gibt und ermöglicht völlig neue Wege mit Inhalten im interaktiven Echtzeit-Bereich umzugehen.

Du willst endlich die Unreal Engine professionell beherrschen? Du willst Teil einer abgefahrenen Community von Realtime-Helden werden? Du hast das Zeug dein eigener Produzent und Regisseur für deinen Kurzfilm zu sein? All das bietet dir der Connector. Das Original von Epic Games!

Die Poster-Features: Nanite und Lumen


Ganz prominent zu nennen sind hier natürlich die beiden „Poster-Features“ Nanite und Lumen. Doch der Reihe nach – hier soll es tatsächlich um erste Eindrücke der neuen Software-Version gehen – aus der Sicht eines Nutzers, der die Unreal Engine seit ca. 7 Jahren nutzt und schon einige Veränderungen mitgemacht hat. So kann der Wechsel von der Version 4 zur 5 in einen angemessenen Kontext gesetzt werden.

Unreal Engine: Die Historie

Unreal Engine 4

Als die Unreal Engine 4 im März 2014 veröffentlicht wurde, gab es noch ein anderes Lizenzmodell. Man zahlte 19$ (respektive 19€) im Monat um Zugang zur Engine und deren C++ Quellcode auf Github zu erhalten mit zusätzlichen 5% Lizenzgebühren auf Produktveröffentlichungen. Ein Jahr später, im März 2015 wurde die Unreal Engine allen Nutzern kostenlos zur Verfügung gestellt. Ein enormer Schritt in Richtung der Demokratisierung von Spiele- und Echtzeiterfahrungs-Entwicklung. Weiterhin blieb das Lizenzmodell mit 5% bestehen, jedoch erst ab einer bestimmten Umsatzgrenze, die über die Jahre weiter angepasst wurde. Nutzern, die zuvor monatliche Gebühren gezahlt hatten, wurden die Kosten in Form von Marketplace Guthaben (eine Plattform, die Epic Games zum Verkauf von Unreal Engine spezifischen Produkten ins Leben gerufen hatte) gutgeschrieben.
Das war die erste Erfahrung, die ich mit einem Unternehmen dieser Größe in dieser Hinsicht gemacht hatte. Geld, das man für die Nutzung einer Software bezahlt hatte, wurde, trotz Nutzung, wieder zurückerstattet.

Epic Games unterstützt Entwickler


Diese Entwickler-freundliche Haltung zieht sich durch meine gesamte Erfahrung mit Epic Games – kostenlose Nutzung von Assets aus Spielen, die Epic Games entwickelt und nicht weiter verfolgt hat (Paragon), monatlich kostenlose Inhalte im Marketplace oder Inhalte neuer Firmen, die Epic Games hinzugekauft hat. Als prominentestes Beispiel zu nennen, wäre Quixel mit der schier endlosen Bibliothek an hochwertigen Photogrammetrie-Modellen „Megascans“, die für Unreal Engine Projekte komplett kostenlos zur Verfügung stehen.

Rückblick: Die Unreal Engine 4


Zu Beginn der Unreal Engine 4 merkte man noch stark die Verwandtschaft zur Version 3. Manche Systeme wurden mehr oder weniger übernommen, andere nochmal mit einem neuen User-Interface ausgestattet. Doch gerade die grundlegende Herangehensweise der Engine an Echtzeit-Grafik, die Entwickler-freundliche und vor allem auch 3D-Künstler-freundliche Haltung von Epic Games ist einer der vielen Gründe, die die Unreal Engine so populär und erfolgreich gemacht hat.


Mit der Version 4 kam das Blueprint System hinzu. Die Möglichkeit, ohne jemals eine Zeile Code zu schreiben, ein komplettes Spiel (oder sonstige interaktive Anwendungen) zu entwickeln, ist natürlich enorm attraktiv. Auch die Einführung von PBR (physically based rendering) und der node-basierte, prozedurale Ansatz beim Material-Editor war für mich direkt eine Funktion, die mich ansprach.

Über die Jahre kamen mehr und mehr Funktionen hinzu auch Dank der internen Entwicklung von Fortnite, dem extrem erfolgreichen Battle Royale Spiel aus dem Hause Epic Games. Jede Funktion, die für das Spiel benötigt wurde aber es noch nicht gab, wurde direkt entwickelt, denn Fortnite brachte einen entsprechenden monetären Erfolg mit sich. Von all diesen Entwicklungen profitieren die Unreal Engine Nutzer indirekt, denn in späteren Versionen der Unreal Engine stehen diese Funktionen und Verbesserungen dann allen zur Verfügung.

Unreal Engine 5 – ein Überblick

Unreal Engine 5: Überblick

Zurück im Hier und Jetzt kann man sagen, dass es kaum einen so großen Sprung gab, wie von der Unreal Engine 4 auf die Unreal Engine 5.
Die Nutzeroberfläche ist komplett überarbeitet. Wo seit 2014 merklich keine großen Veränderungen stattfanden, wartet nun ein komplett überarbeitetes, neu durchstrukturiertes, klares und einheitliches User Interface auf. Natürlich standardmäßig in dunklen Farben gehalten, wie es sich für die an “dark-mode” gewöhnte Programmier-Gemeinde gehört. Dennoch enorm flexibel gehalten, so dass vom Layout, der Fensteranordnung über mehrere Monitore hinweg, sowie der Farbgebung, der Individualisierung kaum Grenzen gesetzt sind. Den Content Browser, zuvor standardmäßig im unteren Bildschirmbereich gedockt, kann man nun über das Tastenkürzel
“Strg+Leertaste” aufrufen und auch wieder ausblenden. So ist das Fenster nur im Bildbereich, wenn man es braucht. Es verschwendet keinen unnötigen Bildschirmbereich, den man mit seiner 3D Szene füllen könnte. Eine Gewohnheitssache, ohne Frage, und wer nach wie vor noch die angedockte Version bevorzugt, dem steht es natürlich frei, dies nach wie vor zu benutzen. Ich persönlich habe schnell gemerkt, dass es einen enormen Mehrwert mit sich bringt. Das gilt auch für andere Fenstern, in denen der Content Browser zuvor nicht zur Verfügung stand, diesen unkompliziert und schnell aufrufen zu können. Zum Beispiel im Material Editor, um schnell mal ein paar Texturen hineinzuwerfen, oder im UMG-Editor, um ein Sub-Widget in ein Master-Widget zu implementieren. Das möchte ich nicht mehr missen.

Die Quixel Bridge ist Teil der UE5


Die Quixel Bridge, ein Programm zur Bibliotheksverwaltung der Quixel Megascans mit direkter Anbindung an die Unreal Engine via Plugin, ist nun direkter Teil der Engine. Zuvor war es eine externe Applikation. Nun öffnet man einfach ein weiteres Engine-Fenster, welches man sich entweder in sein Layout hineindocken oder frei schwebend auf dem Bildschirm platzieren kann. Auch die Möglichkeit direkt aus der Quixel Bibliothek via Drag-and-Drop Assets in seine 3D Szene zu ziehen ist eine willkommene Funktion, die den Workflow enorm erleichtert.

Nanite: 3D Geometrie in Echtzeit

Unreal Engine 5 Nanite

Damit zusammenhängend muss Nanite erwähnt werden. Nanite ist ein völlig neuer Umgang mit statischer 3D Geometrie in Echtzeit. Wo zuvor noch Objekte mit mehreren Millionen von Polygonen in Echzeit undenkbar gewesen wären, kann man die Engine nun mit Polys „zuballern“, ohne sie auch nur ansatzweise ins Schwitzen zu bringen. Das ganze funktioniert basierend auf sogenannter “virtueller Geometrie”.
Die Polygone eines Objektes werden in “Clustern” gebündelt und je nach Kameraentfernung, bzw. Pixelgröße des Objektes auf dem Bildschirm gerendert. Es passieren hierbei zwei Dinge: Einerseits werden die Cluster basierend auf ihrer Pixelgröße zusammengefasst oder weiter unterteilt, andererseits werden die Dreiecke, aus denen diese Cluster bestehen, auf der gleichen Basis angepasst. So kann gewährleistet werden, dass man, wenn man ganz nah an ein Objekt herangeht, die maximale polygonale Auflösung gezeigt bekommt. Bei größerer Entfernung wird nur das berechnet und gezeigt, was einem die Pixel auf dem Bildschirm darstellen können. Das bedeutet Vorteile in beide Richtungen: Man kann viel höher auflösende Geometrien in Echtzeit darstellen als je zuvor. Normal-Maps für Details können hier ein Thema der Vergangenheit sein. Bei größeren Entfernungen spart man sich sogar noch Leistung, die die rendernde Maschine benötigt, um Geometrie zu berechnen, die man pixeltechnisch eventuell gar nicht darstellen kann.
Wow – erstmal ein ganzer Batzen an fast unglaublicher Funktionalität. Hier ein Versuch das ganze in Relation zu setzen.
Der bisherige Workflow mit hochauflösender Geometrie war es, diese basierend auf der Bildschirmgröße (den Bildschirmbereich, den das Objekt je nach Entfernung einnimmt) in Detailstufen, sogenannte Level of Detail, zu unterteilen. Diese waren einfach dezimierte Versionen der Ursprungsgeometrie und wurden je nach Entfernung zur Kamera automatisch ausgetauscht. Dieser Austausch der Detailversionen war jedoch wahrnehmbar. Außerdem war hier, auch wenn das Dezimieren der Geometrie automatisiert von der Unreal Engine übernommen werden konnte, oft noch viel Handarbeit notwendig, um für jedes Objekt die optimale Einstellung zu finden.

Mit Nanite passiert das alles automatisiert. Entweder man entscheidet direkt beim Import des 3D Modells, dass es ein “Nanite-Mesh” werden soll. Oder bei schon vorhandenen Assets reicht ein Rechtsklick im Content Browser, um Nanite zu aktivieren (weiterhin ist es auch im Static Mesh Editor möglich).
Mit Quixel Brigde im Gepäck kann ich nicht anders, als dem ersten Instinkt zu folgen: Import Settings in Quixel Bridge auf “Nanite” stellen, damit die höchste Auflösung der photo-gescannten Objekte genutzt wird und lustig drauf los platzieren, ohne mir Gedanken um Polycount oder Performance machen zu müssen. Danach im “View Mode” die “Nanite Visualization” ausgewählt und vor dem Bildschirm zurücklehnen, während man staunend, schmunzelnd durch ein Meer an bunt, tanzenden Dreiecken fliegt.
Natürlich gibt es bei aller Faszination hier auch Einschränkungen und Nachteile. Ohne hier eine vollständige Liste aufführen zu wollen, unterstützt Nanite folgendes NICHT: Skeletal Meshes
(geriggte Charaktere), statische Beleuchtung (via Lightmaps), Morph Targets, Spline Meshes, Deformation durch Materialien (z.B. World Position Offset) und alle Materialien, die nicht “Opaque” (also deckend) sind und leider auch Stereo Rendering (also VR).
In richtigen Projekten wird man mit einem Mix aus Nanite und traditionellen Workflows arbeiten, was aber so auch beabsichtigt zu seien scheint.

Lumen in Unreal Engine 5

Unreal Engine 5 Lumen

Auch Lumen hat mich von der ersten Tech-Demo an begeistert. Hier werden teilweise schon bekannte Software-Tricks mit neuen Techniken verknüpft, um ein einheitliches System für dynamische Beleuchtung und Echtzeit-Spiegelungen umzusetzen. Der Fokus liegt hier ganz klar auf dem dynamischen Faktor, Lichter und Objekte können beweglich sein, alles soll mit Licht, Schatten und Reflexionen in Echtzeit miteinander interagieren. Das war in dieser Form noch nie möglich. Denn um dies zu gewährleisten muss man den Pfad jeden Lichtstrahls verfolgen, wo er auftrifft, abprallt, um wieder erneut woanders aufzutreffen usw. Das klassische Path-Tracing wie man es von Offline-Renderern kennt und gewohnt ist. Nur haben einzelne Bilder hierfür sekunden-, minuten- oder gar stundenlang Zeit, um alle Berechnungen durchzuführen. Die Unreal Engine möchte das ganze 30, 60 oder noch mehrmals pro Sekunde ermöglichen.
Hier wird ganz getreu dem bekannten Sprichwort “Fake it, ‘til you make it.” gearbeitet.
Lichtstrahlen werden nicht basierend auf der gesamten Geometrie, die in ihrer Komplexität im Zusammenhang mit Nanite ja um ein vielfaches gewachsen sein kann, berechnet, sondern es werden Annäherungen vorgenommen.
Man nutzt hierzu unter anderem “Mesh Distance Fields”, eine Volumentextur für jedes Objekt, welche die Distanz von jedem Punkt auf dem Mesh zum nächsten Punkt im Volumen beschreibt. So kann man Teile der Berechnung basierend auf einer zweidimensionalen Textur vornehmen, was natürlich enorm Kosten spart. Diesen Teil der Lumen-Technologie konnte man auch schon in etwas anderer Form in der Unreal Engine 4 nutzen. “Distance Field Shadows” nannte sich das Ganze und wurde unter anderem in Fortnite benutzt, um für mobile Endgeräte Performance-Anforderungen zu senken.
Für die Reflexionen wird unter anderem auf den “Surface Cache” gesetzt, eine Annäherung an die echte Geometrie basierend auf dreidimensionalen Karten. Diese wird genutzt, um für Flächen, die der Kamera nicht zugänglich sind, Spiegelungen zu berechnen.
Diese beiden Techniken kombiniert mit bildschirmbasierten Effekten, wie Screen-Space Reflections usw., sowie auch (wenn aktiviert) mit gängiger Raytracing-Technologie (mit unterstützten Grafikkarten) ermöglicht enorm realitätsnahe und hochgradig performante Echtzeit-Anwendungen.
Neben Lumen setzt auch Nanite stark auf Streaming, also das Hinzuladen an Daten, wenn sie benötigt werden und profitiert somit enorm von schnellen Speichern, wie PCI-Express SSDs. Die Anwendung richtet sich hier ganz klar an Gaming-PCs und Konsolen der neusten Generation. Denn obwohl zum Beispiel Hardware Raytracing nicht unbedingt benutzt werden müsste, und somit der Hardware-Anspruch gesenkt werden könnte, werden durch das dauerhafte Hinzuladen und Verwerfen der gerade benötigten Daten eben Anforderungen an eine schnelle Speicherstruktur gestellt.
Auch hier bietet es sich natürlich an kräftig auszuprobieren, was möglich ist. Da nun auch die dynamische Beleuchtung durch leuchtende Materialien möglich ist, kann man jetzt auch mit glühenden Kugeln, Glühbirnen, oder was einem sonst noch so einfällt, seine Szene beleuchten. Einfach mit dem Tastenkürzel “Strg+L” und einer Maus-Bewegung den Sonnenstand dynamisch anzupassen und zu sehen, wie in Echtzeit Licht und Schatten auf die Szene fällt, ist einfach atemberaubend.

Unreal Engine 5: Einfach mal probieren

Unreal Engine 5

Die Unreal Engine 5 kann einfach über den Epic Games Launcher heruntergeladen und installiert werden. Ich empfehle jedem den Download, um sich einfach mal die Hände ein bisschen virtuell schmutzig zu machen.
Wem der Aufbau einer eigenen Szene zu aufwändig ist, dem empfehle ich den Download des “City Samples”, welches im Zuge der Unreal Engine 5 Veröffentlichung kostenlos zur Verfügung gestellt wurde. Hierbei handelt es sich um eine 4 km² große prozedural generierte Stadt, die im Rahmen einer Werbekampagne für den aktuellen Matrix Ressurections erstellt wurde. Die dazu entstandene interaktive Techdemo (quasi ein Mini-Open-World Game) “Matrix Awakens” konnte man bisher auf den aktuellen Konsolen kostenlos herunterladen und spielen. Nun wurden hierzu die gesamten Projektdaten kostenlos zur Verfügung gestellt. Epic Games ist es wieder einmal gelungen, dass selbst gestandenen, langjährigen Entwicklern die Kinnlade heruntergefallen ist, als Epic die Tech-Demo und das dazugehörige Youtube-Video veröffentlichte. Die Verwendung von Houdini und Zusammenarbeit mit dem Team von SideFX, um die Stadt zu generieren und Gebäude prozedural zu platzieren, sowie Verkehr und Menschenmassen basierend auf einer neu entwickelten künstlichen Intelligenz mit Leben zu erfüllen, ist nur ein Bruchteil an atemberaubender Technik, die hier bereitgehalten wird. Natürlich sind alle Charaktere “Metahumans”, eine von Epic Games eigens entwickelte Plattform zur Erstellung von digitalen Menschen. Hierauf einzugehen, würde einen weiteren Blog-Artikel füllen. Die gesamte Geometrie der Stadt, der Fahrzeuge und sonstiger Objekte nutzen natürlich, soweit möglich, Nanite. Dies ermöglichte es den Entwicklern beispielsweise nur einen kleinen, mehrfach verwendeten Teil des Gehsteigs mit ca. 500.000 Polygonen zu füllen. Die Größenverhältnisse sind teilweise einfach unfassbar.
Bei Beleuchtung und Spiegelungen setzt man auf Lumen. Auch hier zeigte sich im Verlauf der Entwicklung, mehr oder weniger durch einen Zufall, dass allein die Beleuchtung der Fenster und Straßenlaternen (alles leuchtende Materialien) ausreicht, um die Szene zu erhellen. So wurde kurzerhand ein Nachtmodus eingebaut, der hauptsächlich diese Beleuchtungsquellen nutzt.
Dieser, sowie auch diverse Visualisierungen von Nanite, lassen sich während der Anwendung über ein Menü noch verändern und anzeigen.
Als weitere wertvolle Quelle wären die komplett überarbeiteten “Content Examples” zu nennen. Hier findet man aufgeteilt in verschiedene Level viele unterschiedliche Beispiele, wie man die neuen und alten Technologien nutzen und einsetzen kann. Auch hier kann man sich frei bedienen und die Inhalte so, oder in abgeänderter Form in eigenen Projekten nutzen.
Des Weiteren sollte man auch “Project Lyra” nicht unerwähnt lassen. Hierbei handelt es sich um ein weiteres Demo-Projekt, welches mi Rahmen der Unreal Engine 5 Veröffentlichung zur Verfügung gestellt wurde. Lyra ist ein Multiplayer Shooter Spiel (eine schöne Rückbesinnung auf die Ursprünge der Unreal Engine), welches fortgeschrittene Spielmechaniken, prozedural erzeugte Geometrie und die Epic Online Services nutzt und sauber dokumentiert implementiert hat. Man kann innerhalb des Projekts das Spiel starten und automatisch mit anderen Nutzern in aller Welt zu einer Multiplayer-Session verbunden werden. In dieser Form gab es das bisher noch nicht.
Zusätzlich findet man nun im Unreal Engine Marketplace eine extra Kategorie für Produkte, die mit der Unreal Engine 5 kompatibel sind.
Egal wonach einem der Sinn steht, für so ziemlich alles findet sich ein guter Startpunkt, um die ersten Schritte in der Unreal Engine 5 zu gehen.

Unreal Engine 5: Mein Fazit

Es gibt noch so viel mehr Features, über die man berichten könnte, die in sich aber so tief gehen würden, dass es sich lohnt hierfür noch einmal einen eigenen Artikel zu starten. Hier zu nennen wäre beispielsweise die Möglichkeit über Niagara Partikelsysteme 2D und 3D Fluid-Simulationen darstellen zu können. Also wirkliche Rauch- und Flüssigkeitssimulationen in Echtzeit, die man direkt in der Unreal Engine erstellen kann. Es macht einfach so viel Spaß sich alles anzuschauen, neue, bahnbrechende Technologien mit einer so niedrigen Einstiegshürde auszuprobieren und in Träumen und Plänen zu schwelgen, was man damit alles anstellen könnte.
Zum Abschluss bleibt mir nur in Richtung Epic Games zu sagen: “Mind blown, thank you!”

Kontakt

Schlagwörter

Schulungen die dich interessieren könnten

Bewertungen

Kundenstimme
Torsten B.
Westdeutscher Rundfunk WDR
star-participantstar-participantstar-participantstar-participantstar-participant
Das Seminar hat nicht nur Spaß gemacht, sondern auch wirklich 'ne Menge gebracht :-)
Kundenstimme
Wolfgang N.
ThyssenKrupp Nirosta
star-participantstar-participantstar-participantstar-participantstar-participant
Eine gute Adresse für das Erlernen scheinbar schwieriger und trockener Themen, die hier gut aufbereitet werden.
Kundenstimme
Philipp M.
Wacom Europe GmbH
star-participantstar-participantstar-participantstar-participantstar-participant
Sehr gute Organisation, guter Trainer - alles super!
Kundenstimme
Nina P.
GEUTEBRÜCK GmbH
star-participantstar-participantstar-participantstar-participantstar-participant
Das Seminar hat meine Erwartungen voll erfüllt. Man hat gemerkt, dass der Trainer Spaß an der Sache und sehr viel Ahnung vom Thema hat. Das Gefühl hat man nicht in allen Schulungen (auf Schulungen im Allgemeinen bezogen).