Zurück zur Startseite

Lichtoptimierung in Unity: Lightmaps und Shaders

Der Artikel behandelt praktische Methoden zur Lichtoptimierung in Unity Built-in Render Pipeline. Er beschreibt Hybrid-Rendering-Techniken, manuelles Lightmap-Management, Terrain-Lichtprojektion über Shaders und Kaskaden-Shadow-Modifikationen für stabile Leistung.

Wie man das Beste aus der Beleuchtung in Unity ohne HDRP herausholt
Advertisement 728x90

# Optimierung der Beleuchtung in Unity: Lightmapping, Light Probes und Custom Shaders

Die Entwicklung von Indie-Projekten mit offenen Bereichen stößt unvermeidlich auf Rendering-Beschränkungen. Während die Branche aktiv zu HDRP und Hardware-Raytracing migriert, bleibt Unitys Built-in Render Pipeline (Built-in RP) ein brauchbares Werkzeug für Teams, die vorhersehbare Performance und volle Kontrolle über den Pipeline priorisieren. Der Schlüssel zu einer stabilen Framerate ohne visuelle Kompromisse liegt in der sauberen Trennung von statischer und dynamischer Beleuchtung sowie in der gezielten Optimierung der Draw Calls.

Hybrid-Ansatz: Lightmaps vs. Light Probes

Effiziente Szenenbeleuchtung basiert auf einer klaren Trennung der Geometrie nach Prioritäten. Große Architektur, Landschaften und statische Props werden mit gebackenen Lightmaps gerendert. Für diesen Prozess eignen sich Drittanbieter-Lightmapper wie Bakery optimal, da sie schnelles Global Illumination Pre-Baking und korrekte Reflexionsbehandlung bieten, ohne den Editor zu überlasten.

Das Backen kleiner Objekte mit komplexer Topologie ist unpraktikabel: Es führt zu Atlas-Fragmentierung und erhöhtem Videospeicherverbrauch. Stattdessen kommt das Light Probes-System zum Einsatz. Probes interpolieren die Umgebungsbeleuchtung und leiten Farbreflexionen sowie grundlegende Schatten an dynamische oder kleine statische Meshes weiter. Um das Batching identischer Props in derselben Zone zu optimieren, können Sie die Koordinaten desselben Probes erzwingen. Das reduziert die Anzahl einzigartiger Render-States und entlastet die CPU-Last bei der Frame-Vorbereitung.

Google AdInline article slot

Ein wichtiger Aspekt des Hybrid-Renderings ist das Ausschließen ferner Geometrie aus Echtzeit-BeleuchtungsBerechnungen. Directional Light und cascaded Shadows werden schnell zum Engpass, wenn der Engine versucht, sie für Objekte am Horizont zu berechnen. Das Deaktivieren des Echtzeit-Einflusses für den fernen Hintergrund und der vollständige Wechsel dieser Bereiche zu Lightmaps oder Probes reduziert die Draw Calls drastisch.

Manuelle Kontrolle von Texel Density und Culling von Lichtquellen

Die automatische Generierung der zweiten UV-Unwrap für Lightmaps liefert oft suboptimalen Ergebnisse. Manuelles UV2-Layout ermöglicht eine präzise Verteilung der Texel Density basierend auf der Gameplay-Kamera und der Bedeutung. Fassaden, Korridore und aktive Interaktionsbereiche erhalten hohe Texel Density, während Dächer, Rückseiten von Wänden und unzugängliche Bereiche auf ein Minimum komprimiert werden. Das spart Platz in Light Atlases und verhindert Kompressionsartefakte im Vordergrund.

Um Qualität und Performance in Unity auszugleichen, wird Distance Shadowmask-Modus genutzt. Ab 50–80 Metern von der Kamera rendert der Engine dynamische Schatten und überlagert gebackenes GI. Jenseits dieses Radius werden nur statische Schatten aus Lightmaps gerendert. Der Übergang ist nahtlos, und die GPU-Last stabilisiert sich.

Google AdInline article slot

Allerdings fehlt dem Built-in Render Pipeline ein natives Mechanismus zum Distance Culling von Point- und Spotlight-Quellen. Lampen in fernen Räumen werden weiterhin berechnet und verschwenden Ressourcen. Die Lösung ist ein Custom-Manager: Das Skript verwaltet einen Pool aktiver Quellen, prüft periodisch (alle 2–3 Sekunden) den Abstand zur Kamera und schaltet den Enabled-State um. Asynchrone Prüfungen verhindern Mikrostottern und sorgen dafür, dass nur visuell relevante Quellen im Frame aktiv sind.

Terrain-Lichtprojektion über Custom Shader

Terrain-Dekoration (Schneeverwehungen, Felsen, Vegetation) stellt ein ernstes Problem für Standard-Lightmapping dar. Das Backen jedes kleinen Objekts dauert zu lange, und Light Probes für Tausende Instanzen erzeugen zusätzliche Draw Calls und brechen Static Batching.

Eine effektive Umgehungslösung ist ein Shader, der die Terrain-Lightmap von oben nach unten auf überlagerte Geometrie projiziert. Die Lightmap darf nur Landschaftsdaten enthalten. Der Shader liest die World-Koordinaten der Decor-Vertices, transformiert sie in Terrain-UV-Raum und sampelt den entsprechenden Texel des gebackenen Lichts. Das Ergebnis simuliert Ambient Occlusion und grundlegende Beleuchtung ohne Probes-Abhängigkeit.

Google AdInline article slot

Zusätzlich ist Vertex Blending in den Shader integriert. Wenn der untere Teil des Meshes die Terrain-Oberfläche berührt, blenden Albedo, Normals und Roughness-Masks sanft ineinander. Das eliminiert harte Nähte, erzeugt Schneeverwehungseffekte an Objektbasen und verschmilzt verstreute Props visuell mit der Landschaft zu einheitlicher Geometrie. Die Methode entfernt vollständig Schnittnähte und arbeitet viel schneller als Post-Processing oder komplexe Voxel-Blending-Systeme.

Modifikation von Cascaded Shadows und programmatisches Blurring

Standard-Directional-Light-Shadows in Unity leiden unter zwei Extremen: entweder übermäßig scharf und stufenweise oder unscharf mit spürbarem Flimmern bei reduzierter Shadow Map-Auflösung. Unter realen Bedingungen hängt die Schärfe von Schatten vom Abstand zum Okluder und der Winkelgröße der Lichtquelle ab. Der Schatten am Objektboden ist immer scharf, aber die Penumbra weitet sich mit der Distanz.

Um physikalisch korrektes Verhalten ohne schwere Pipelines zu simulieren, wird ein Contact-Shadowing-Algorithmus mit progressivem Cascade-Blurring angewendet. Drittanbieter-Lösungen modifizieren den Standard-Shadow-Pipeline, indem sie depth- und camera-distance-basiertes Filtering hinzufügen. Das erhält hohe Shadow Map Resolution für nahe Zonen und blurert ferne Cascades sanft, eliminiert Aliasing und reduziert Fillrate-Anforderungen. Im Gegensatz zu HDRP-Built-ins vermeidet das Raytracing-Berechnungen oder schwere Post-Effekte und gewährleistet Kompatibilität mit Mittelklasse-Hardware.

Wichtige Punkte

• Hybrid-Rendering erfordert klare Geometrie-Trennung: Lightmaps für große Statik, Light Probes für kleine Deko und dynamische Objekte.

• Manuelles UV2- und Texel-Density-Tuning spart Videospeicher und steigert Beleuchtungsdetails in gameplay-kritischen Zonen.

• Custom-Terrain-Lightmap-Projektions-Shader eliminieren Probes-Bedarf für Tausende kleiner Objekte, reduzieren Draw Calls und verbessern Batching.

• Distance Culling von Point Lights via Pool-Manager gleicht fehlende Native-Features in Built-in RP aus.

• Progressives Cascaded-Shadow-Blurring nach Distanz löst Aliasing und Flimmern ohne Performance-Einbußen.

— Editorial Team

Advertisement 728x90

Weiterlesen