Das Water System ist das seit UE4.26 eingeführte und in UE5 weiterentwickelte Plugin-basierte Echtzeit-Wassersystem von Epic Games, das Ozeane, Seen, Flüsse und Swimmingpools mit physikalisch-basierten Wellen, Buoyancy-Simulation und dynamischer Interaktion in einer offenen Spielwelt integriert.
Was ist das Water System?
Wasser gehört zu den visuell komplexesten Materialien in der 3D-Grafik: Es ist gleichzeitig reflektiv und refraktiv, besitzt Subsurface-Streuung, Wellenbewegung, Schaum und interagiert mit Objekten und Spielercharakteren. Das Water System Plugin von Epic Games bietet eine integrierte Lösung für alle diese Herausforderungen speziell im Kontext großer offener Spielwelten.
Das System basiert auf splinebasierter Wasserflächen-Geometrie, die nahtlos in das Landscape-System integriert ist: Wasservolumen formen das darunter liegende Terrain automatisch (Carved Landscape), sodass Flussbetten und Seebecken realistisch in die Landschaft eingebettet sind.
Erklärung
Wassertypen
Das Water System bietet vier vordefinierte Wassertyp-Actors:
Water Body Ocean: Großflächige Ozean-Simulation ohne definierte Grenzen. Nutzt ein tile-basiertes, sich wiederholendes Wellen-Muster. Konfigurierbar: Wellenhöhe, -frequenz, Windrichtung, Schaumbildung. Stützt sich auf den Gerstner Wave-Algorithmus für physikalisch plausible Wellenformen.
Water Body Lake: Ein in Spline-Form definierter, geschlossener Wasserkörper. Geeignet für Seen, Teiche, Reservoirs. Flachere Wellen als Ozean; konfigurierbare Oberflächen-Ruhe.
Water Body River: Ein entlang eines Splines fließendes Gewässer mit konfigurierbarer Breite und Tiefenprofil. Unterstützt Strömungsrichtung und -geschwindigkeit. Das River-System kann Kurven und Gefälle über den Spline definieren; das Terrain wird entlang des Splines automatisch eingegraben (River Carving).
Water Body Custom: Ermöglicht benutzerdefinierte Wasserformen (z. B. Swimmingpool, Brunnen) über eine beliebige Spline-Form mit manuellem Zuschnitt.
Wellen-Simulation
UE5s Wellen nutzen den Gerstner Wave-Algorithmus, der Ozeanbewegungen durch eine Summe von sinusförmigen Wellen mit unterschiedlichen Amplituden, Frequenzen und Phasenwinkeln approximiert. Im Gegensatz zu FFT-basierten (Fast Fourier Transform) Ozean-Simulationen (wie sie Houdini oder RealFlow nutzen) ist Gerstner realtime-fähig und zeigt trotzdem überzeugende Ergebnisse für mittlere Distanzen.
Die Wellenkonfiguration erfolgt im Water Wave Asset: Anzahl der Wellen-Komponenten, Amplitude, Wellenlänge, Steepness (Kammschärfe) und Windrichtung sind parametrisch einstellbar.
Buoyancy-Simulation
Das Water System enthält eine Buoyancy Component (Auftriebskomponente), die beliebige Physics-Actors auf Wasseroberflächen treiben lässt. Die Component fragt das Water System nach der Wellenhöhe an der Objekt-Position und berechnet den entsprechenden Auftriebsvektor. Konfigurierbar:
- Anzahl der Pontoons (Auftriebspunkte am Objekt) – mehr Pontoons = stabileres Boot
- Auftriebsstärke (Buoyancy Strength)
- Wasserwiderstand (Water Drag)
Für ein schwimmendes Boot werden typischerweise 4–8 Pontoons unter dem Rumpf definiert, sodass das Boot den Wellen folgt und realistisch schaukelt.
Material: Single Layer Water
Wasseroberflächen in UE5 nutzen das spezialisierte Single Layer Water Shading Model im Material Editor. Es berechnet physikalisch korrekte:
- Refraktion: Lichtbrechung beim Übergang Luft/Wasser
- Absorption: Wellenlängenabhängige Lichtabsorption im Wasser (tiefes Wasser = Blautöne, wenig Licht)
- Scattering: Lichtstreuung durch Partikel im Wasser
- Surface Rendering: Fresnel-basierte Reflexivität, Normal-Mapping für Wellen-Mikro-Details
Das Material nutzt den Depth Buffer der Szene, um Objekte im Wasser korrekt zu rendern und Uferschaum an Kontaktpunkten mit dem Terrain zu erzeugen.
Landscape-Integration
Ein kritisches Feature ist die automatische Landscape Carving: Wenn ein Water Body Actor platziert wird, schneidet er das darunter liegende Landscape automatisch in die korrekte Form. Für Flüsse entsteht so ein natürliches Flussbett mit ansteigenden Ufern; für Seen eine muldenartige Vertiefung.
Die Integration mit PCG ermöglicht die automatische Platzierung von Uferpflanzen, Steinen und Schilf entlang der Water-Body-Splines.
Beispiele
- Küstenszene: Ozean mit Gerstner-Wellen; Klippen als Nanite-Static-Meshes; Schaum entlang der Küstenlinie über Depth-Differenz im Wasser-Material; Möven-Simulation via Niagara
- Gebirgsbach: River-Water-Body mit engem Spline und hohem Gefälle; Turbulenzmaterial an Stromschnellen; Übergangs-Partikeleffekte via Niagara
- Sumpfgebiet: Lake-Water-Body mit trüber, grüner Wasserfarbe (hohe Absorption, geringe Sichttiefe); Seegrasbewegung im Wasser via Groom-ähnlicher Grass-Simulation
- Architekturvisualisierung Pool: Custom-Water-Body für rechteckigen Pool; klares, blaues Wasser mit Kaustics-Material (Lichttanzeffekte auf dem Poolboden)
In der Praxis
Water System aktivieren: Das Water-Plugin muss zunächst aktiviert werden: Edit → Plugins → Water → Enable.
Ocean Water Body erstellen:
- Im Modus-Panel: Place Actors → Nach "Water Body Ocean" suchen und ins Level ziehen
- Wellen im Water Waves Asset konfigurieren (Wave Amplitude, Wavelength, Wind Direction)
- Wasser-Material anpassen (Absorptionsfarbe, Transparenz)
Buoyancy hinzufügen:
- Static/Skeletal Mesh Actor auswählen
- Buoyancy Component hinzufügen
- Pontoons definieren (Anzahl und Position relativ zur Objekt-Origin)
- In der Wave Response-Einstellung: Masse, Auftriebskraft und Dämpfung anpassen
Performance-Optimierung
- Water Mesh Tile Size: Standardmäßig rendert das Water System weit entfernte Tiles; Tile-Auflösung reduzieren für bessere Performance
- Wellen-LOD: Fernwellen können durch einfachere Approximationen ersetzt werden
- Buoyancy-Frequenz: Für viele schwimmende Objekte die Abfrage-Frequenz der Wellenhöhe reduzieren
Vergleich & Abgrenzung
Water System vs. Houdini FLIP/RealFlow: Das Water System ist ein Echtzeit-Approximationssystem, das für interaktive Anwendungen optimiert ist. Houdini FLIP (Fluid Implicit Particle) und RealFlow sind Offline-Simulationswerkzeuge, die physikalisch exaktere, aber rechenintensivere Ergebnisse liefern. Für Film-VFX werden Houdini-Simulationen als Alembic-Cache importiert; für Echtzeit-Anwendungen ist das Water System die richtige Wahl.
Water System vs. Simple Plane mit Water Material: Für sehr einfache Szenen (kleiner Teich ohne Interaktion) reicht ein einfaches Plane-Mesh mit Single Layer Water Material. Das Water System ist dann sinnvoll, wenn Buoyancy, Landscape-Integration oder Flussströmung benötigt werden.
Häufige Fragen (FAQ)
Kann man unter Wasser tauchen? Das Standard-Water-System unterstützt Unterwasser-Rendering nur eingeschränkt. Für vollständige Unterwasser-Umgebungen mit Lichtkaustiken und Partikel-Trübung sind benutzerdefinierte Post-Process-Volumes und zusätzliche Niagara-Effekte nötig.
Unterstützt das Water System Gezeiten? Nicht nativ. Mithilfe von Material-Parameter-Animationen und Blueprint-gesteuerter Water-Body-Position können Gezeiten simuliert werden.
Wie verhält sich das Water System mit World Partition? Water Bodies unterstützen World Partition; große Ozean-Bodies teilen sich automatisch in geladene/entladene Bereiche auf.
Verwandte Einträge
- Unreal Engine 5 – Einführung
- Landscape & Terrain
- Material Editor
- Niagara – Partikelsystem
- PCG – Procedural Content Generation
Weiterführend
- Epic Games: Water System Plugin Documentation (docs.unrealengine.com, 2024)
- Epic Games: Fortnite Water – Building an Ocean Simulation, Unreal Engine Blog (2021)
- Tessendorf, Jerry: Simulating Ocean Water, SIGGRAPH 2001 – Grundlagenpaper zu FFT-Ozean
- Horvath, Christopher: Empirical Directional Wave Spectra for Computer Graphics, SIGGRAPH 2015
- SideFX: Houdini Ocean Toolkit Documentation (sidefx.com, 2023)
