Zum Inhalt springen
Leistungen Projekte Über uns Blog Karriere Kontakt
Alle Artikel
Teil 2 — Kapitel 5 von 9
·9 Min. Lesezeit ·Pipeline

AAA-Pipeline für Waffen-Assets Low-Poly-Modellierung

Wie man Topologie dort verteilt, wo es darauf ankommt, ein realistisches Geometriebudget plant und ein stabiles Echtzeit-Waffen-Asset für VR erstellt.

Von Khaliman Alexander

Low-Poly-Modellierung

Die Low-Poly-Stufe definiert das Gleichgewicht zwischen Polygonzahl, Schattierung, UV-Splits, Animationsanforderungen und Laufzeitleistung. Das Ziel ist nicht einfach, eine Dreiecksgrenze anzupassen, sondern die Geometrie logisch zu verteilen.

Ein gutes Echtzeit-Mesh verbringt Geometrie für Silhouette, funktionale Formen, Nahinteraktionszonen, bewegliche Teile und Bereiche, die die Schattierung beeinflussen. Flache, versteckte, sich wiederholende oder backbare Details sollten nicht das gleiche Budget verbrauchen.

Die Low-Poly-Stufe ist einer der ersten großen Optimierungsschritte in der Asset Production Pipeline. Hier definieren wir die Balance zwischen Polygonzahl, sauberer Schattierung, UV-Splits, Verformungsanforderungen und Laufzeitleistung.

Ein Prinzip, das ich in der Spieleproduktion konsequent beobachtet habe, ist, dass es bei der Schaffung eines Low-Poly-Assets nicht nur darum geht, in ein technisches Limit zu passen. Die wichtigere Aufgabe ist es, die Topologie auf eine optimierte und logische Weise zu verteilen.

Ein gutes Low-Poly-Mesh verbringt Geometrie dort, wo es wirklich wichtig ist: auf der Silhouette, funktionelle Formen, Nahinteraktionszonen, bewegliche Teile und Bereiche, die die Schattierung beeinflussen. Gleichzeitig vermeidet es, Polygone auf flachen Oberflächen, versteckten Bereichen, sich wiederholenden Details, die gebacken werden können, oder Teilen, die vom Spieler selten gesehen werden, zu verschwenden.

Bevor wir über Topologieoptimierung sprechen, ist es wichtig zu verstehen, warum wir nicht einfach Geometrie mit hoher Dichte, CAD-Ausgabe oder filmische Assets direkt in einem Echtzeit-VR-Projekt verwenden können.

Warum Dreieckszählung nur ein Teil der Geschichte ist

Sichtbare Dreiecke sind nur ein Teil der realen Kosten. UV-Nähte, harte normale Splits, Materialgrenzen, Scheitelfarben und Skinning-Daten können Eckpunkte duplizieren und die von der GPU verarbeiteten Daten erhöhen. Das gleiche Netz kann auch an Schatten, Reflexionen, Tiefe und Bewegungsvektorübergängen teilnehmen.

"Dreieckszählung" wird seit den Anfängen von Verbraucher-3D-Beschleunigern als bekannte Leistungsmetrik verwendet. Für Künstler bleibt es eine bequeme Möglichkeit, die Geometriekomplexität zu schätzen und zu kommunizieren. Aus technischer Sicht beginnen die Renderkosten jedoch nicht mit Dreiecken, sondern mit Eckpunkten.

Ein Echtzeit-Mesh ist nicht nur eine Ansammlung von sichtbaren Polygonen. Es enthält verschiedene Arten von Vertex-Daten:

  • Vertex-Position
  • Vertex-Normale
  • UV-Koordinaten
  • Tangenten- und Bitangenten-Daten
  • Vertex-Farbe
  • Bone-Gewichte
  • Materialzuweisungen
  • UV-Trennungen und getrennte harte Normalen

Dies bedeutet, dass die Anzahl der sichtbaren Dreiecke und die tatsächliche Menge der verarbeiteten Vertex-Daten nicht immer gleich sind. UV-Nähte, harte Kanten, Materialspaltungen und Hautbildungsdaten können die endgültige Scheitelpunktzahl erhöhen, die von der GPU verarbeitet wird.

Zur Laufzeit werden Mesh-Daten geladen, in GPU-Puffer gesendet, transformiert, schattiert, gerastert und in mehreren Rendering-Durchläufen verwendet. Je nach Szene kann die gleiche Geometrie auch zu Schatten, Reflexionen, Tiefenübergängen, Bewegungsvektoren oder anderen Rendersystemen beitragen.

Grafik-Pipeline-Referenzdiagramm

Grafikpipeline-Referenz vonYoungdo Lee· Quelle:Referenz Grafikpipeline

Die Kosten werden noch komplexer, wenn dynamische Lichter, transparente Materialien, Reflexionen und Nachbearbeitung beteiligt sind. Leistung skaliert nicht immer linear. Eine Szene kann mit Millionen von Polygonen stabil erscheinen, aber nach dem Hinzufügen eines weiteren Assets, einer weiteren Lichtquelle oder eines teureren Materials kann die Bildrate plötzlich instabil werden.

Cube GPU Vertex Beispiel

Ein Würfel enthält nur 8 geometrische Eckpunkte, aber ein herkömmlicher spielbereiter Würfel mit harten Gesichtsnormalen erfordert 24 GPU-Vertices - vier separate Eckpunkte für jedes seiner sechs Gesichter. Nach der Triangulation enthält es 12 Dreiecke, auf die 36 Indizes verweisen.

Planung des Optimierungsbudgets

Geometriebudgets müssen mit der Zielplattform, der Bildrate, dem Speicher, dem Worst-Case-Rahmen, der Beleuchtung, dem VFX und der Bildschirmbedeutung des Assets beginnen. Für Direct Action beträgt das durchschnittliche Waffenziel etwa 10.000-40.000 Dreiecke, was bei ungewöhnlich komplexen Assets auf 60.000-80.000 ansteigt.

Eine richtige Optimierungsstrategie beginnt mit dem Verständnis der Zielhardware.

Bevor das Low-Poly-Budget definiert wird, muss das Team Folgendes verstehen:

  • Zielplattform
  • Ziel-Framerate
  • Speicherbudget
  • Aufwendigster erwarteter Frame
  • Anzahl der sichtbaren Waffen, Charaktere, Requisiten, Fahrzeuge, VFX und Umwelt-Assets
  • Beleuchtungs- und Schattenkomplexität
  • Nachbearbeitungskosten
  • Bedeutung des Assets im Bild

Erst danach kann das Team realistische Limits für jede Assetkategorie definieren.

Für Direct Action haben wir das durchschnittliche Waffenbudget auf etwa 10.000-40.000 Dreiecke pro Waffe festgelegt. Bei außergewöhnlich komplexen Anlagen wie Maschinengewehren oder hochdetaillierten Systemen mit vielen sichtbaren mechanischen Teilen kann das Budget auf 60.000-80.000 Dreiecke ansteigen.

Dies ist ein relativ hohes Geometriebudget, näher an dem, was oft in AAA-Flatscreen-Produktionen zu sehen ist. In unserem Fall wurde diese Entscheidung von der Detailtiefe der Nahaufnahme getrieben, die wir den Spielern in VR zeigen wollten.

Ein höheres Polygonbudget funktioniert jedoch nur, wenn das Asset korrekt strukturiert ist.

Statische Meshes und Skelett-Geometrie

Starre Waffenteile müssen nicht automatisch enthäutet werden. Statische Komponenten vermeiden unnötige pervertex Verformungsarbeit, während Skelettmaschen für Teile reserviert werden sollten, die wirklich komplexe Animation benötigen. Der Kompromiss ist Komponentenmanagement und potenzieller Draw-Call-Overhead.

Eine der wichtigsten Optimierungsstrategien besteht darin, nach Möglichkeit statische Maschen zu verwenden, anstatt die gesamte Waffe in ein vollständig enthäutetes Maschennetz zu zwingen.

Bei nicht verformbaren Teilen sind statische Maschen oft effizienter. Ein statisches Mesh kann eine einzelne Transformationsmatrix für alle seine Scheitelpunkte verwenden, während ein gehäutetes Mesh zusätzliche Per-Vertex-Berechnungen für Knocheneinfluss, Verformung und Animation erfordert.

Das bedeutet, dass starre Waffenteile nicht immer enthäutet werden müssen. In vielen Fällen ist es besser, sie als separate statische Komponenten zu behalten und Skelettmaschen nur für Elemente zu reservieren, die eine komplexe Animation erfordern.

Zum Beispiel:

  • Einfache starre Teile können statisch bleiben
  • Bewegende mechanische Gruppen können als separate Komponenten angebracht werden
  • Nur stark verformte oder für die Animation entscheidende Teile sollten Skelettdaten verwenden
  • Versteckte oder interne Animationshelfer können sehr detaillierte Geometrie verwenden

Dieser Ansatz hilft, unnötige Vertex-Shader-Kosten zu reduzieren und vermeidet eine Überlastung von CPU und GPU mit dynamischen Berechnungen, wo sie nicht benötigt werden.

Diese Methode führt jedoch auch Kompromisse ein. Eine größere Anzahl von statischen Mesh-Komponenten kann die Verwaltung, Animation und Montage des Assets erschweren. Es kann auch Draw Calls erhöhen, wenn nicht sorgfältig behandelt. Daher ist das Ziel nicht, alles in so viele Teile wie möglich zu teilen, sondern ein praktisches Gleichgewicht zwischen Animationsflexibilität, Rendering-Kosten und Produktionsmanagement zu finden.

Normalenausrichtung und LOD-taugliches Shading

Die konstante normale Richtung macht gebackene Details und Highlights stabiler, wenn die Geometrie reduziert wird. Ein gutes normales Management bewahrt große Formen, verbessert LOD-Übergänge und verhindert laute Stereoreflexionen, wenn ein VR-Spieler die Waffe dreht.

Ein weiterer wichtiger Teil der Low-Poly-Vorbereitung ist die Kontrolle der normalen Richtung für aggressive LOD-Generierung.

Durch die Zuweisung konsistenter oder einheitlicher normaler Richtungen zu ausgewählten Polygongruppen können wir das Asset freundlicher für Tangenten-Raum-normale Karten und zukünftige LODs machen. Dies hilft, stabile Schattierungen zu erhalten, wenn die Geometrie reduziert wird.

In der Praxis bedeutet dies, dass der Künstler nicht nur für das endgültige Nahaufnahmenetz über die Schattierung nachdenken sollte, sondern auch darüber, wie sich das Asset in der Ferne oder unter Leistungsbeschränkungen verschlechtert.

Eine saubere Normalenausrichtung hilft dabei:

  • Reduzieren Sie sichtbare Schattierungsartefakte
  • Gebackene Details stabiler darzustellen
  • Verbesserung der LOD-Übergänge
  • Bewahren Sie das visuelle Lesen großer Formulare
  • Unruhige Glanzlichter auf vereinfachter Geometrie zu vermeiden
  • Machen Sie das Asset später einfacher zu optimieren

Für Waffenkunst ist dies besonders wichtig, weil Reflexionen und Highlights in Stereo und in Bewegung wahrgenommen werden. Schlechtes normales Management kann dazu führen, dass sich eine Oberfläche instabil, gebrochen oder visuell laut anfühlt, wenn der Spieler das Objekt in seinen Händen dreht.

Beispiel der Normalenausrichtung am MP5

Produktionsprinzip

Ein Low-Poly-Asset sollte sich nicht wie eine vereinfachte Kopie des High-Poly-Modells anfühlen. Es sollte sich wie eine sorgfältig ausgearbeitete Echtzeit-Darstellung anfühlen.

Bei der Low-Poly-Stufe geht es nicht nur darum, Dreiecke zu reduzieren. Es geht darum, eine Echtzeit-Version des Assets zu erstellen, die die künstlerische Absicht beibehält, die Silhouette bewahrt, die Animation unterstützt, mit dem Texturbacken arbeitet und unter den Leistungsbeschränkungen stabil bleibt.