Nanite Virtualized Geometry ist Unreal Engine 5s revolutionäres Rendering-System, das Geometrie dynamisch in Echtzeit streamt und auflöst, sodass Szenen mit Milliarden von Polygonen ohne manuelle Level-of-Detail-Erstellung in Echtzeit gerendert werden können.
Rubrik: Software & Tools · Unterrubrik: Unreal Engine · Niveau: Fortgeschritten Synonyme / Auch bekannt als: Nanite, Virtualized Geometry System, Micro-Polygon-Rendering; Menüpfad: Static Mesh Details → Enable Nanite
Was ist Nanite?
Nanite ist eine fundamentale Neukonzeption des Echtzeit-Rendering-Pipelines von Epic Games. Traditionell musste für jedes hochdetaillierte 3D-Modell eine Reihe von Level-of-Detail-Versionen (LODs) manuell oder automatisch erstellt werden: eine hochauflösende Version für die Nähe, vereinfachtere Versionen für die Distanz. Mit Nanite entfällt dieser aufwendige Prozess vollständig: Das System analysiert die Kameraposition und -sichtbarkeit pro Frame und rendert nur die Polygon-Cluster, die tatsächlich sichtbar sind, mit der jeweils benötigten Auflösung.
Erklärung
Das Problem der traditionellen LOD-Pipeline
In der traditionellen Echtzeit-Grafik-Pipeline war die Polygon-Anzahl pro Szene durch Hardware-Limits begrenzt. Ein Charakter mit 1 Million Polygonen wurde in der Nähe mit vollen Polygonen gerendert, in weiterer Entfernung mit 100.000 Polygonen (LOD1), noch weiter entfernt mit 10.000 (LOD2) und so weiter. Das Erstellen dieser LODs war zeitaufwendig und führte oft zu sichtbaren „LOD Pops" – abrupten Qualitätswechseln bei bestimmten Distanzen.
Nanites Lösungsansatz: Virtualisierte Mikropolygone
Nanite unterteilt Meshes in ein hierarchisches Cluster-System (Hierarchical LOD, HLOD). Diese Cluster werden zur Laufzeit extrem fein aufgelöst – bis auf Pixel-Ebene. Das System rendert pro Pixel nur die Cluster, die tatsächlich für diesen Pixel sichtbar sind. Die effektive Polygon-Anzahl pro Pixel bleibt konstant niedrig, unabhängig von der theoretischen Gesamt-Polygon-Anzahl der Szene.
Kernprinzipien:
- Cluster-Hierarchie: Jedes Nanite-Mesh wird in eine hierarchische Baumstruktur von Polygon-Clustern aufgeteilt
- Streaming: Cluster werden von der Festplatte/SSD in den GPU-Speicher gestreamt – nur benötigte Cluster werden geladen
- Virtueller Shadow Map (VSM): Nanite nutzt Virtual Shadow Maps für hochqualitative Schatten ohne manuelle Shadow-LOD-Konfiguration
- Per-Cluster Culling: Cluster, die nicht sichtbar sind (hinter Kamera, verdeckt, zu klein für sichtbaren Beitrag), werden vollständig übersprungen
Nanite aktivieren
Nanite kann pro Static Mesh aktiviert werden:
- Static Mesh im Content Browser doppelklicken → Static Mesh Editor öffnet
- Im Detail-Panel: Nanite Settings → Enable Nanite: True
- Static Mesh speichern
Alternativ: Im Content Browser mehrere Meshes markieren → Rechtsklick → Nanite → Aktivieren
Nanite-Voraussetzungen
- Static Meshes (kein Skeletal Mesh nativ – Skinned Mesh Nanite ist seit UE 5.4 in der Entwicklung)
- DirectX 12 oder Vulkan auf unterstützter GPU (NVIDIA RTX, AMD RX 5000+, Apple M1+)
- Keine transparenten Materialien (Nanite rendert nur opake Materialien nativ; Transparenz benötigt Fallback)
- Nanite ist nicht mit allen Material-Features kompatibel (z. B. Pixel-Depth-Offset mit Einschränkungen)
Nanite und Foliage
Nanite revolutioniert das Rendering von Vegetation: Bäume mit 5 Millionen Polygonen können in einer Szene mit tausenden Instanzen gerendert werden. Das Procedural Content Generation (PCG)-System in UE5 kombiniert mit Nanite ermöglicht realistische Wälder mit fotografischer Qualität in Echtzeit.
Nanite und Architekturvisualisierung
Architekturmodelle aus CAD-Systemen (Revit, ArchiCAD) haben oft Millionen von Polygonen und waren für Echtzeit-Visualisierung bisher ungeeignet. Mit Nanite können diese Modelle direkt importiert und in Echtzeit gerendert werden, ohne Polygon-Reduktion oder LOD-Erstellung.
Nanite und Virtual Production
Für Virtual Production auf LED-Wänden ist Nanite ein Gamechanger:
- Filmische Detaildichte (echte Filmsets werden fotogrametrisch gescannt und als Nanite-Meshes eingesetzt)
- Keine sichtbaren LOD-Übergänge im Kamerabild – für Film-Set-Extensions entscheidend
- Photogrammmetrie-Modelle von echten Locations (Gebäude, Landschaften) können direkt als Nanite-Meshes integriert werden
- Zusammenspiel mit Lumen für vollständig dynamische, beleuchtungsechte Hintergründe
Performance-Charakteristik
Nanite verschiebt den Rendering-Bottleneck von der Rasterisierungs-Pipeline zur Visibility-Berechnung. Auf modernen GPUs (NVIDIA RTX 3080+, AMD 6800 XT+) ist Nanite für Szenen mit 100–500 Millionen Polygonen in 4K bei 60 FPS erreichbar – was bei traditionellen LOD-Systemen mit deutlich weniger Polygonen vergleichbare Performance gehabt hätte.
Nanite Fallback-LODs
Auch mit aktiviertem Nanite ist es möglich, manuell erstellte Fallback-LODs zu definieren – für Plattformen, die Nanite nicht unterstützen (z. B. ältere GPUs, Konsolen ohne Nanite-Unterstützung). Das macht Projekte zukunftssicher und plattformübergreifend.
Beispiele
- Photogrammetrie-Asset (Burgfassade): Eine historische Burg wird mit 200 Drohnenfotos fotogrammetrisch rekonstruiert. Das resultierende Mesh hat 80 Millionen Polygone. Mit Nanite wird es ohne LOD-Erstellung direkt in eine UE5-Szene integriert und in Echtzeit gerendert – für eine Film-Set-Extension auf LED-Wand.
- CAD-Import Architekturvisualisierung: Ein Architekturbüro importiert ein komplexes Gebäude-Modell aus Autodesk Revit (15 Millionen Polygone) direkt in UE5. Nanite rendert das Modell in Echtzeit für eine interaktive Kunden-Präsentation.
- Wald-Simulation für Virtual Production: 50.000 Bäume (je 2 Millionen Polygone) werden per PCG-System in einer Szene verteilt und als Nanite gerendert. Das Ergebnis: fotorealistischer Wald-Hintergrund auf LED-Wand, der auf Lichtwechsel in Echtzeit reagiert.
- Detaillierte Charakter-Umgebungen: Innenarchitektur-Szene mit tausenden Einzelobjekten (Möbel, Bücher, Dekorationen) aus hochauflösenden Scan-Daten – alle als Nanite für Echtzeit-Walkthroughs.
In der Praxis
Nanite nicht für alles verwenden: Nanite hat Overhead für kleinste Objekte (wenige Polygone, weit entfernt). Für einfache Primitive (Kugeln, Würfel) und sehr kleine Objekte ist traditionelles Rendering ohne Nanite effizienter.
Material-Kompatibilität prüfen: Nicht alle Materialien funktionieren mit Nanite (Transparenz, World-Position-Offset-intensive Materialien). Vor dem Aktivieren von Nanite die Material-Features des Meshes prüfen.
Nanite-Statistiken nutzen: Im Nvidia Nsight oder Unreal Stats (stat nanite) Übersicht über Nanite-Cluster-Count, Overdraw und Streaming-Auslastung prüfen.
Virtuelle Shadow Maps aktivieren: Nanite arbeitet am besten mit Virtual Shadow Maps (VSM). Im Project Settings unter Engine → Rendering → Shadows: Virtual Shadow Maps aktivieren.
Vergleich & Abgrenzung
| System | Nanite (UE5) | Traditionelle LODs | Unity DOTS/HDRP |
|---|---|---|---|
| Max. Polygone (praktisch) | Milliarden | Zig Millionen | Hunderte Millionen |
| Manuelle LOD-Erstellung | Nicht nötig | Pflicht | Optional |
| LOD-Übergänge (Pops) | Keine | Sichtbar | Begrenzt |
| Plattformunterstützung | High-End PC/Konsole | Alle | PC/Konsole |
| Transparenz-Support | Begrenzt | Vollständig | Vollständig |
Häufige Fragen (FAQ)
Funktioniert Nanite auf allen Plattformen? Nein. Nanite erfordert DirectX 12, Vulkan oder Metal (Apple M1+). Ältere GPUs, Mobile-Plattformen und ältere Konsolen (PlayStation 4, Xbox One) unterstützen Nanite nicht. Für diese Plattformen werden Fallback-LODs verwendet.
Kann ich Nanite mit Skeletal Meshes (animierten Charakteren) verwenden? Native Nanite-Unterstützung für Skeletal Meshes (Skinned Meshes) ist seit UE 5.4 (2024) als experimentelles Feature verfügbar. Für Charaktere mit Standard-Skelett-Animationen ist traditionelles Rendering mit manuellen LODs weiterhin die stabile Empfehlung.
Verwandte Einträge
Weiterführend
- Epic Games: Nanite Virtualized Geometry – Dokumentation – docs.unrealengine.com/5.0/nanite (2024)
- Epic Games GDC 2021: Nanite – A Deep Dive – Vortrag, youtube.com/EpicGames (2021)
- Quixel: Megascans + Nanite Workflows – quixel.com/blog (2023)
