Die Gesamtgröße eines Projekts umfasst alle Assets, das Gelände und Spielmechaniken, die von der Blueprint-Funktionalität unterstützt werden. Diese Elemente tragen alle zur Projektgröße bei und verbrauchen Speicher. Große, detaillierte Assets, die sehr viel Daten verbrauchen, haben den größten Effekt auf die Projekt einer Insel und tragen erheblich zur Größe eines Projekts bei.
Das Projektgröße-Tool von Unreal Editor für Fortnite (UEFN) verwendet ein Diagramm, um die Größe der verschiedenen Assettypen in Bezug zur Gesamtgröße des Projekts darzustellen. Nutze diese Informationen, um zu entscheiden, welche Dateien weiter komprimiert werden sollen bzw. welche Assets bearbeitet werden sollen, um ihre Datennutzung zu verringern.
Lies auf der Seite Speicherverwaltung nach, um mehr über die Speicherverwendung deiner Insel zu erfahren.
Projektgröße-Werkzeug
Um die Größe eines Projekts zu sehen, muss zuerst ein Cook-Vorgang, ein Rendering und Spielvorgang ausgeführt werden, um zu berechnen, wie die Assets in deinem Projekt zur Speicherverwendung beitragen.
Das Starten einer Spieltest-Sitzung bietet dir eine Möglichkeit, das Cooking für deine Assets durchzuführen und auf das Projektgröße-Werkzeug zuzugreifen.
-
Klicke auf Sitzung starten in der Symbolleiste des Level-Editors.
Das Projekt lädt und cookt die Projektdaten, wenn es das Öffnen im Fortnite-Kreativmodus vorbereitet. Nach dem Cooking des Projekts wird es im Fortnite-Kreativmodus geöffnet, wo du einen Spieltest deiner Insel durchführen kannst.
-
Drücke die Windows-Taste, um zu UEFN zurückzukehren.
-
Klicke in der Symbolleiste des Level-Editors auf Projekt.
-
Wähle Projektgröße in der Projekt-Dropdown-Liste oder über das Projektgröße-Widget des Editor-Viewport aus. Der Projektgröße-Tab wird in einem neuen Fenster geöffnet.
Projektgröße-Tab
Der Projektgröße-Tab zeigt alle Projektassets an, die zur Größe eines Projekts beitragen, und bietet Statistiken zur Größe deiner Insel. Je mehr verschiedene Assets es in dem Projekt gibt, desto länger wird die Liste der Assets sein.
Klicke auf das Bild, um es zu vergrößern.
Die übergreifende Größe des Projekts wird in einem Feld unter der Leiste Statistiken aufgeführt. Dieser Bereich zeigt verschiedene Größenstatistiken an:
-
Letzter Upload – Die Größe des Projekts zum letzten Cooking-Zeitpunkt
-
Upload-Größe – Die Größe des Projekts, als es in der aktuellen Sitzung cookt wurde.
-
Download-Größe – Die prognostizierte Größe der Insel. Die Statistik wird aufgefüllt, um die Art zu berücksichtigen, wie verschiedene Konsolen die Insel rendern.
Das Diagramm zeigt die Liste der Assettypen neben der Datenverwendung jedes Assets. Du kannst die im Projektgröße-Diagramm angezeigten Daten ändern, indem du in der Statistik-Leiste auf Einstellungen klickst und basierend auf der Gruppe oder der Datenverwendung verschiedene Kriterien auswählst.
-
Nach Typ – Klappt das Diagramm nach Assettypen und ihrer Datenverwendung zu.
-
Nach Paket – Zeigt die einzelnen Assets nach Name und ihrer Datenverwendung an.
-
Relativ zur Projektgröße – Zeigt die vom Asset verwendeten Daten auf Basis der Verwendungsgröße relativ zur gesamten Projektgröße an.
-
Relativ zum größten Element – Vergleicht die Datenverwendung der Assets mit dem Element, das die meisten Daten verwendet, und zeigt sie an.
-
Abhängigkeiten anzeigen – Zeigt an, welche Assets importiert werden, sowie externe Projektabhängigkeiten, wie FAB-Inhaltspakete.
Du kannst die Live-Bearbeitung fortsetzen, während das Tab Projektgröße im Editor angedockt ist. Nach der Bearbeitung deiner Assets:
-
Klicke in der Symbolleiste des Level-Editors auf Änderungen übertragen, um alle in der Live-Bearbeitungssitzung vorgenommenen Änderungen zu veröffentlichen.
-
Klicke in der Leiste Statistiken auf das Symbol Aktualisieren, um alle Änderungen zu registrieren und einen neuen Datensatz der Projektgröße abzurufen.
Asset-Größe
Assets können abhängig von der Komplexität des Assets sehr datenlastig sein. Die folgende Tabelle schlüsselt den Assettyp auf und wie er zur Größe eines Projekts beiträgt.
| Assettyp | Beitrag zur Projektgröße |
|---|---|
| Shaders | Ein Shader ist ein natives UEFN-Programm, das verschiedene Attribute der gerenderten Grafiken berechnet. Shaders agieren als ein Satz von Befehlen, den die CPU an die GPU sendet, was sich auf die Pixel auf dem Bildschirm auswirkt und die Geometrie deines Projekts oder die visuellen Merkmale der Objekte und Materialien auf dem Bildschirm rendert. |
| Landschaft | Benutzerdefinierte Landschaften verbrauchen mehr Daten, weil sie nicht nativ so leistungsfähig sind wie die Vorlageninseln im Tab „Kartenvorlagen“. Landschaftsmaterial trägt ebenfalls zur Dateigröße einer Landschaft bei, wodurch sie datenintensiver wird, wenn sie ein benutzerdefiniertes Landschaftsmaterial verwendet. |
| HLOD | Das System Hierarchischer Detaillierungsgrad (HLOD) organisiert mehrere Statisches-Mesh-Actors und kombiniert sie zu einem einzigen Proxy-Mesh und Material für große Ansichtsabstände. Dies hilft, die Anzahl der Actors zu reduzieren, die für die Szene gerendert werden müssen, was die Anzahl der Zeichenaufrufe pro Frame reduziert und die Performance erhöht. Das bedeutet, dass du mehrfach mehr Details zu einem Bereich einer bestimmten Größe hinzufügen kannst, was dazu führt, dass sich die Anzahl der HLODs erhöht. |
| Statisches Mesh | Statisches Meshs sind Geometrieelemente, die aus mehreren Polygonen bestehen, die im Video-Speicher zwischengespeichert und von der Grafikkarte gerendert werden. Je mehr Polygone ein Statisches Mesh hat, desto schwieriger ist das Rendering. Die Verwendung eines großen Statisches Mesh oder einer größeren Anzahl verschiedener Statisches Meshs erhöht die Menge der in deinem Projekt verwendeten Daten. |
| Texturen | Eine Textur ist ein Bild, das aus einer Datei geladen wird. Texturen werden als eine Art Aufkleber angewendet, der ein Statisches Mesh umwickelt. Durch den Detailumfang deiner Textur kann diese sehr datenintensiv werden. Die Dateigröße der Textur ist relativ zur Auflösung und lässt sich nicht gut komprimieren. Für jede Datenebene (Diffus, Normal und Spiegelnd) erhöhen sich die Komplexität deiner Textur sowie ihre Datenanforderungen. |
| Materialien | Materialien, die Texturpakete verwenden (Diffus, Normal und Spiegelnd) neigen zu größeren Dateigrößen und leiden unter den gleichen Problemen wie datenintensive Texturen, wenn eine Materialdatei groß ist. Die Größe der Materialdatei ist relativ zur Auflösung und sie wird nicht gut komprimiert. |
| Niagara-System | Die visuellen Effekte von Niagara (VFX) stützen sich auf Materialien, um Bildmaterial zu generieren. Wenn die Texturen und Materialien datenintensiv sind, benötigt der Niagara-Effekt auch mehr Daten, um ordnungsgemäß gerendert zu werden. Wenn ein Effekt mehr als ein Material verwendet, trägt dies ebenfalls zu den Kosten für den VFX bei. |
| Skelett-Meshs | Skelett-Meshs bestehen aus zwei voneinander abhängigen Teilen: einer Gruppe von Polygonen, die Oberfläche des Skelett-Mesh ähnlich wie ein statisches Mesh bilden, und einem hierarchischen Satz miteinander verbundener Bones die verwendet werden, um die Scheitelpunkte der Polygone zu animieren. Je mehr Polygone ein Skelett-Mesh hat, desto komplexer ist das Rendering. Du kannst ein statisches Mesh vereinfachen, weil es nicht verschoben werden muss. Skelett-Meshs sind aber anders, da Animationen von der Anzahl Bones und Scheitelpunkte abhängig sind, um die Animation zu unterstützen, wodurch das Asset datenlastig wird. |
| Animation | Komplexe Animationen mit größeren Scheitelpunktgruppen führen dazu, dass Animationen mehr Daten benötigen, denn je mehr Scheitelpunkte ein Skelett-Mesh hat, desto schwieriger ist das Rendern. Ohne die richtige Anzahl von Bones und Scheitelpunkten kann das Skelett-Mesh die Animation nicht sauber abspielen. |
| Control-Rig | Ein Control-Rig erstellt Animationen und trägt daher zur Größe eines Projekts bei, indem es bestimmt, welche Scheitelpunktgruppen verwendet werden sowie wie häufig die verschiedenen Gruppen in der Bewegungssequenz verwendet werden. |
| Levelsequenz | Levelsequenzen können mehrere Animationen und Skelett-Meshs umfassen, die zur Projektgröße beitragen. |
| Metasound-Quelle | Audio kann bis zu einem gewissen Grad komprimiert werden, aber die Länge und HiFi-Qualität einer Audiodatei können datenintensiv sein. |
| Blueprint-Klasse | Blueprints sind knotenbasierte Interfaces, die Gameplay-Elemente in UEFN bestimmen. Abhängig von der externen Abhängigkeit kann der Blueprint teuer sein und eine Menge Daten benötigen, um ordnungsgemäß zu laufen. |
Bearbeiten von Assets
Es gibt eine Reihe von Möglichkeiten, deine Assets in UEFN zu bearbeiten. Unten findest du eine Liste praktischer Bearbeitungswerkzeuge:
-
UV-Editor – Bearbeite UVs zur Reduzierung der Daten, die ein Material oder Mesh verwendet.
-
PolyGroup-Bearbeitungswerkzeug – Bearbeite Polygruppen statischer Meshs zur Reduzierung der Scheitelpunkte und Vereinfachung der statischen Meshs.
-
Texturen skalieren – Suche nach Texturen in älteren Inseln, die keine Größe in einer Zweierpotenz verwenden, und bearbeite sie so, dass sie der Zweierpotenz entsprechen.
-
Bearbeitung von Komponenten – Bearbeite Assets in Gruppen, um die Aktualisierungszyklen zu reduzieren.
Asset-Richtlinien
Hier findest du einige Seiten, die dir helfen können, eine Problembehebung für Assets durchzuführen, die möglicherweise nicht die Veröffentlichungsanforderungen erfüllen, und nicht zum Veröffentlichungszeitpunkt auf Probleme mit der Projektgröße zu stoßen:
-
Festlegen der Detailstufe – Dieses Dokument bietet einen Leitfaden zur Bestimmung des LOD für Assets.
-
Streaming und HLODs – Verwende die World Partition, um deine Insel in Stücken statt alles gleichzeitig zu rendern, um Probleme bei Rendering zu reduzieren.
-
Leitfäden zur Architekturmodellierung – Nutze diese Leitfäden, um Architektur-Assets zu erstellen, die mit dem Raster-Einrasten von UEFN arbeiten und den Leistungsanforderung des Fortnite-Kreativmodus entsprechen.
-
Modellierungstipps – Erfahre, wie du Assets für UEFN erstellen kannst, die im Fortnite-Kreativmodus funktionieren.