Neue Möglichkeiten zur Anwendung globaler Beleuchtung auf Ihre Welten in Unity 6

Wir freuen uns, weitere Details über die neuen Beleuchtungsfunktionen von Unity 6 im Laufe des Jahres bekannt geben zu können.
Die neue und robuste Architektur für das Backen von Lichtern und der innovative Ansatz für die Erstellung von mit Lichtsonden beleuchteten Umgebungen mithilfe von Adaptive Probe Volumes (APV) sorgen für einen optimierten Lichterstellungsprozess. Dadurch wird die visuelle Darstellung erheblich verbessert und gleichzeitig eine hohe Leistung zur Laufzeit gewährleistet.
Wenn Sie schon einmal mit vorberechneten Beleuchtungsdaten gearbeitet haben, wissen Sie, wie mühsam dieser Prozess sein kann. Der Vorberechnungsprozess für Lightmaps kann viel Zeit in Anspruch nehmen; Lightmap-UVs müssen erstellt werden, Sonden müssen platziert werden, damit dynamische Objekte korrekt beleuchtet werden, und Sie müssen mit großen Texturen umgehen, die den Laufzeitspeicher Ihrer Anwendungen stark belasten können.
In Unity 6 haben wir mit Adaptive Probe Volumes (APV) eine neue Möglichkeit geschaffen, qualitativ hochwertigere, mit Licht beleuchtete Umgebungen zu erstellen, und grundlegende Verbesserungen am Light-Baking-Backend für mehr Stabilität vorgenommen.
Ein Adaptive Probe Volume ist eine Gruppe von Light Probes, die Unity automatisch auf der Grundlage der Geometriedichte in Ihrer Szene platziert, um eine indirekte Beleuchtung zu erzeugen.

Aufgrund seiner adaptiven Natur wird APV in Bereichen mit mehr Geometrie dichter platzierte Sonden erzeugen und weniger Sonden in Bereichen mit weniger dicht platzierten Objekten, wie dem Hintergrund einer Szene.
Adaptive Probe Volumes bieten Ihnen darüber hinaus eine ganze Reihe leistungsstarker Funktionen für die Erstellung wunderschön beleuchteter Umgebungen.
- Ermöglicht einfachere Arbeitsabläufe für die Sondenplatzierung und schnellere Iterationen für die indirekte diffuse Beleuchtung mit Lichtsonden.
- Die APV-Beleuchtung pro Pixel bietet eine deutlich höhere Qualität als Light Probe Groups und eine bessere Richtwirkung als Lightmaps, was zu einer hervorragenden Gesamtbeleuchtungsqualität führt.
- Die nahtlose Integration mit Atmosphären sorgt dafür, dass Effekte wie volumetrischer Nebel in HDRP und VFX Graph Partikel in URP und HDRP durch indirekte Beleuchtung wunderschön beleuchtet werden.
- Ermöglicht visuell atemberaubende Beleuchtungsübergänge durch Sky Occlusion und Beleuchtungsszenarien, geeignet für Tageszeit- und Licht-an/aus-Situationen.
- Bietet mehr Kontrolle über Optimierungen für die Laufzeitleistung, basierend auf der von Ihnen verwendeten Render-Pipeline und Zielhardware.
- Führt eine Reihe von Streaming-Funktionen aus, die das Streaming von Light Probe-Daten von der Festplatte zur CPU und von der CPU zur GPU ermöglichen.
- Bietet ein leistungsfähiges Instrumentarium zur Reduzierung von Lichtlecks.

Das URP 3D-Beispielprojekt verwendet derzeit die neuesten 2022 LTS-Funktionen .
Zu Demonstrationszwecken haben wir in diesem Blog-Beitrag die URP 3D-Beispielszenen von 2022 LTS auf Unity 6 Preview und die Funktion Adaptive Probe Volumes aktualisiert.

APV ist ein volumenbasiertes System, das die Platzierung von Sonden automatisiert, anstatt sie von Hand zu platzieren.
Auf der Registerkarte "Allgemeine Einstellungen" für APV können Sie Parameter wie "Min" und "Max Probe Spacing" einstellen, um die Erstellung mehrerer Unterteilungsebenen auf der Grundlage der umgebenden Geometrie zu steuern. Standardmäßig wird für dichte Bereiche die höchste Auflösung verwendet, während für Bereiche mit weniger Geometrie niedrigere Dichtegrade verwendet werden. Dieses automatische und adaptive Verhalten gewährleistet eine effiziente Ressourcenzuweisung, die sich auf die Bereiche konzentriert, in denen sie am dringendsten benötigt werden.

Um automatisch Sonden zu erzeugen, können Sie ein Adaptives Sondenvolumen erstellen. Während Sie arbeiten, können Sie Live-Updates sehen, so dass Sie eine Vorschau der Sondenplatzierung ohne Backen erhalten. Diese Aktualisierungen basieren auf den Steinen und den Unterteilungsebenen, die Sie zuvor definiert haben, und werden dann entsprechend der Nähe der benachbarten Geometrie angepasst.

Generate Lighting berechnet alle Beleuchtungsdaten vor, einschließlich der Lichtsonden, die Sie in Ihrer Szene visualisieren können. In der Vorschau mit Bausteinen können Sie die verschiedenen Unterteilungsebenen sehen, die beim Platzieren der Sonden angewendet wurden.

Wenn Sie schon einmal mit Lichtsondendaten gearbeitet haben, kennen Sie vielleicht die üblichen Probleme mit Lichtlecks. Bei der Entwicklung von APV haben wir eine ganze Reihe von Werkzeugen hinzugefügt, um Probleme mit Lichtlecks zu beheben, wie z. B. virtueller Versatz, Dilatation, Probe Adjustment Volumes, Rendering-Ebenen und die Modi zur Vermeidung von Lichtlecks "Performance" und "Qualität".
Hier ist ein Beispiel. Mit Hilfe von Debug-Ansichten für die Beleuchtung können wir einen problematischen Anwendungsfall für Lichtlecks beobachten. In dieser Situation ist das helle Licht von außen durch die Wände und den Boden des Gebäudes sichtbar. Im Außenbereich besteht das gegenteilige Problem, da das Licht aus dem Innenraum nach außen dringt. Dies ist wahrscheinlich auf die geringe Auflösung (1 Meter zwischen den Sonden) und die dünnen Wände zurückzuführen. Lassen Sie uns untersuchen, wie wir dies angehen können.

Um dieses Problem zu untersuchen, können Sie mit der Option Debug Probe Samplingjede der abgetasteten Sonden zusammen mit ihrer jeweiligen Gewichtung anzeigen. In unserem Fall sehen wir, dass das Ergebnis zwischen den hellen Sonden von außen und den dunklen Sonden von innen interpoliert wird. Im Idealfall sollte das Innere des Zeltes nur die Innensonden beproben.

Mit Rendering Layers for APV(eingeführt in 6000.1f.1) können Sie bis zu vier verschiedene Masken erstellen und das Sampling für bestimmte Objekte auf diese spezifischen Masken beschränken. Dies kann sehr nützlich sein, um zu verhindern, dass innere Objekte äußere Sonden abtasten, oder umgekehrt.
Bei der Erzeugung von Beleuchtungen weist das System den Sonden während des Backvorgangs automatisch Schichten zu, die auf den in der Nähe befindlichen Objekten basieren, so dass die manuelle Zuweisung von Schichten pro Sonde entfällt. Sobald dies geschehen ist, können SieBeleuchtung erzeugen und beobachten, dass die Undichtigkeit des Zeltes dank der manuell erstellten getrennten Innen- und Außenmasken reduziert wird.

Um noch mehr Kontrolle über die Vermeidung von Lichtlecks zu erhalten, können Sie die Leckreduzierungsmodi "Leistung" und "Qualität" von Unity nutzen.
Der Leistungsmodus dient der Leckreduzierung, indem er den Ort der Probenahme von ungültigen Sonden weg verlagert. Dies funktioniert in der Regel gut in einfachen Szenarien, in denen ein geeigneter Probenahmeort für alle gültigen Sonden ermittelt werden kann, während alle ungültigen umgangen werden. Je nach Konfiguration der Sonde kann es jedoch sein, dass ein solcher optimaler Probenahmeort nicht verfügbar ist. Dies führt dann zur Entnahme ungültiger Proben und zu potenziellen Lecks.
Der Qualitätsmodus (eingeführt in 6000.0.3f1) ist jetzt standardmäßig aktiviert und verwendet bis zu drei Probenahmeversuche, um sicherzustellen, dass nur gültige Sonden verwendet werden. Dieser Modus kann zu einem leichten Overhead bei der Laufzeitleistung führen, was sich besonders auf Low-End-Plattformen bemerkbar machen kann.
Sie können Leckreduzierungs- und Rendering-Ebenen kombinieren, um Lichtlecks noch weiter zu verhindern. Dieser Modus stellt sicher, dass ungültige Sonden, sei es aufgrund von Gültigkeitsproblemen oder weil sie sich auf einer anderen Ebene befinden, nicht abgetastet werden.

Außerdem haben wir die mehrfachen Unterteilungsebenen verbessert, indem wir potenziell sichtbare Nähte zwischen verschiedenen Ebenen reduziert haben (eingeführt in 6000.0.4f1). Dies wird automatisch erreicht, indem die Werte von Grenzsondierungen, die zwischen zwei Ebenen liegen, durch vorinterpolierte Werte ersetzt werden. Da dieser Prozess zur Bake-Zeit stattfindet, entstehen zur Laufzeit keine Leistungseinbußen.

Mit APV können Sie visuell atemberaubende Beleuchtungsübergänge durch Sky Occlusion und Beleuchtungsszenarien erzielen, die sich für Tageszeit- und Licht-an/aus-Situationen eignen.
Als Nächstes finden Sie zwei Beispiele für Beleuchtungsübergänge, zunächst durch Beleuchtungsszenarien mit APV in der Szene Oase des URP 3D-Beispielprojekts, dann durch Sky Occlusion mit APV in der Szene Garten.
APV erleichtert verschiedene Beleuchtungsszenarien, indem es das Umschalten oder Überblenden zwischen gebackenen Beleuchtungsdaten ermöglicht. Diese Funktion ist besonders nützlich für die Simulation von Tageszeiten oder das Umschalten zwischen ein- und ausgeschalteten Lichtern innerhalb derselben Szene oder desselben Backsets.
Beleuchtungsszenarien verwalten nur die gebackenen APV-Lichtsondendaten; andere Elemente müssen manuell bearbeitet werden. Um ein Beispiel in der Oasis-Szene zu geben, haben wir ein Skript erstellt, das den Himmel, die Lichter, die Nebelparameter und die Reflexionssonden aktualisiert. APV gebackene Szenarien können zur Laufzeit mit der ProbeReferenceVolume API verwaltet werden, ein Beispiel ist in der Dokumentation zu finden.


Sky Occlusion bietet eine Alternative zu Beleuchtungsszenarien, um Beleuchtungsübergänge in der Szene zu verwalten. Es handelt sich um einen einfacheren Aufbau mit nur einem Backvorgang, bei dem keine mehreren Szenarien erforderlich sind. Stattdessen behandelt Sky Occlusion ausschließlich die Beleuchtung des Himmels und erstreckt sich daher nicht auf die Verwaltung der indirekten Beleuchtung für gerichtete oder punktuelle Lichter.

Bei der Himmelsverdeckung werden zusätzliche gebackene Daten verwendet, um die Himmelsbeleuchtung anders zu handhaben als beim Standard-APV-Himmelbacken. In diesen Daten wird die Menge des Himmelslichts gespeichert, die jeder Bereich der Szene erhalten soll, so dass die Farbe und Intensität der Himmelsbeleuchtung zur Laufzeit angepasst werden kann. Durch die Verwendung einer dynamischen Umgebungssonde zur Laufzeit zusammen mit diesen gebackenen und statischen Okklusionsdaten wird eine gute Annäherung an die Himmelsbeleuchtung erreicht und gleichzeitig eine dynamische Anpassung der Szenenbeleuchtung ermöglicht.
Sky Occlusion wird sowohl in URP als auch in HDRP unterstützt. Im HDRP wird die Umgebungssonde automatisch vom HDRP Physical Sky aktualisiert. In URP kann die Umgebungssonde bei Verwendung des Skybox-Modus jedoch nicht automatisch in Echtzeit aktualisiert werden, wenn sich der Himmel ändert. Stattdessen muss die Farbe manuell mit dem Farbverlaufs- oder Farbmodus animiert werden, um mit den animierten Himmelsbildern übereinzustimmen, da Unity sich nicht automatisch an die wechselnde Himmelsfarbe anpasst.
Am Beispiel der Gartenszene ermöglicht der Farbverlaufsmodus in den Umgebungseinstellungen die manuelle Animation der Farbe der Umgebungssonde. In Verbindung mit Okklusionsdaten kann dieses Setup eine überzeugende Annäherung für die Animation der diffusen Beleuchtung des Himmels schaffen, die sich für die Darstellung wechselnder Tageszeiten eignet. Dabei wird ein einziges Bake ohne mehrere Beleuchtungsszenarien verwendet, und es kann eine breite Palette von Farbvariationen erzeugt werden.

Weitere Informationen finden Sie in unserer Dokumentation APV-Implementierung in der Universal Render Pipeline (URP) und für APV in der High Definition Render Pipeline (HDRP).
Mit der neuen Unity Light Baking Architektur in Unity 6 ist der GPU Light Baker nun aus der Vorschau heraus.

Der neue Light Baker wurde mit Blick auf die Reaktionsfähigkeit des Editors und die Backgeschwindigkeit entwickelt. Das bedeutet, dass Unity bei der Verwendung des On-Demand-Backens nun einen "Schnappschuss" des Szenenzustands macht, wenn die Schaltfläche "Generate" angeklickt wird. Unity prüft den Zustand der Szene nicht mehr bei jedem Frame, was früher die Leistung des Editors beeinträchtigte.
Dieses neu gestaltete Backend hat unsere Codebasis erheblich vereinfacht, so dass es einfacher und schneller ist, Fehler zu beheben, und das Risiko der Einführung neuer Fehler verringert wird.
Außerdem stellen wir Ihnen ein neues Backprofil zur Verfügung, mit dem Sie den für Sie passenden Arbeitsablauf auswählen können.

Sie können einen Bereich von "niedrigster Speichernutzung" - ideal, wenn Sie im Editor weiterarbeiten wollen und die beste Gesamtreaktion des Editors wünschen - bis zu "höchster Leistung" wählen, was nützlich ist, wenn Sie die Arbeit so schnell wie möglich erledigen wollen und während der Backzeit an nichts anderem im Editor arbeiten müssen.
Die iterative Erstellung und Fehlerbehebung von gebackenen Beleuchtungsdaten ist ein wichtiger Anwendungsfall für Ersteller, die gebackene Global Illumination (GI) verwenden.
Aus diesem Grund haben wir eine neue interaktive Vorschaufunktionalität zu verschiedenen GI-bezogenen Szenenansichts-Zeichenmodi hinzugefügt, die Unitys Auto Generate durch einen speziellen interaktiven GI-Debug-Vorschau-Modus für die Vorschau von Beleuchtungsdaten ersetzt.

Dadurch können Debug-Ansichten interaktiv aktualisiert werden, wenn die Szene geändert wird. Die Vorschau ist nicht-destruktiv, da sie die gebackenen Beleuchtungsdaten nicht ersetzt.
Die Abkehr von der alten Auto-Generate-Architektur von Unity bedeutet, dass wir die Baking-Pipeline für mehr Stabilität optimieren können.
Beachten Sie, dass Unity 6 die letzte unterstützte Version für Enlighten Realtime GI ist. Weitere Details zu unserem bereits kommunizierten Abschaffungspfad finden Sie im Forumspost Update on Global Illumination 2021.
Hier finden Sie Links zu früheren Anfragen nach Feedback für die Beta-Versionen 2023.1, 2023.2 und Unity 6 (2023.3):
- Globale Beleuchtungsänderungen mit der Beta-Version 2023.1
- Globale Beleuchtungsänderungen mit der Beta-Version 2023.2
- Globale Beleuchtungsänderungen mit der Unity 6 (2023.3) Beta-Version
Wir freuen uns darauf, Ihre Kreationen zu sehen, die unsere neuen Beleuchtungsfunktionen in Unity 6 nutzen. Bitte senden Sie uns Ihr Feedback im Global Illumination Forum oder im neuen Diskussionsbereich von Unity!