Hero background image
Raytracing und Nachbearbeitungseffekte für PC- und Konsolenspiele

Dies ist der fünfte Artikel in einer Reihe von Artikeln, in denen erklärt wird, wie Entwickler und Technical Artists die High Definition Render Pipeline (HDRP) in Unity einrichten und nutzen können, um grafischen Realismus der Spitzenklasse zu erreichen. HDRP stellt einen Technologiesprung im Echtzeit-Rendering von Unity dar, so dass Sie mit Licht arbeiten können, wie es sich in der realen Welt verhält.

Lesen Sie auch die anderen Artikel in unserer Serie über hochwertige Beleuchtung:

Nachbearbeitung Überschreibungsschnittstelle
Nachbearbeitung

Moderne High-End-Grafik wäre ohne Nachbearbeitung unvollständig. Wir können zwar nicht immer alles in der Nachbearbeitung korrigieren, aber es ist schwierig, sich unsere gerenderten Bilder ohne die Filter und Vollbild-Effekte vorzustellen, die sie filmischer machen. Deshalb wird HDRP mit seinen eigenen integrierten Nachbearbeitungseffekten ausgeliefert.

Die HDRP-Nachbearbeitung verwendet das Lautstärkesystem, um die Bildeffekte auf die Kamera anzuwenden. Wenn Sie erst einmal wissen, wie man Überschreibungen hinzufügt, sollte Ihnen der Prozess der Anwendung weiterer Post-Effekte vertraut sein.

Nachbearbeitung Die Überschreibungen für die Steuerung von Farbe und Kontrast überschneiden sich manchmal in ihrer Funktionalität. Um die richtigen Kombinationen zu finden, müssen Sie möglicherweise einige Versuche unternehmen. Sie werden nicht alle verfügbaren Effekte benötigen; fügen Sie einfach die notwendigen Überschreibungen hinzu, um Ihr gewünschtes Aussehen zu erzielen, und ignorieren Sie den Rest. Ein Beispiel für die Verwendung finden Sie unter Volumes in der Beispielszene.

ACES versus neutrales Tonemapping
Tonemapping

Tonemapping ist eine Technik, mit der Farben mit hohem Dynamikbereich auf den begrenzteren Dynamikbereich des Bildschirms abgebildet werden. Es kann den Kontrast und die Details in Ihren Renderings verbessern.

Wenn Sie einen filmischen Look wünschen, stellen Sie den Tonemapping-Modus auf den Industriestandard ACES(Academy Color Encoding System) ein. Für eine weniger gesättigte und kontrastreiche Darstellung wählen Sie Neutral. Erfahrene Benutzer können auch die Option Benutzerdefiniert wählen, um die Tonemapping-Kurve selbst zu definieren.

Schatten, Mitteltöne, Glanzlichter Farbwähler
Schatten, Mitteltöne, Lichter

Die Überlagerung Schatten, Mitteltöne, Lichter steuert den Tonwert- und Farbbereich für die Schatten, Mitteltöne und Lichter des Renderings. Aktivieren Sie jeden Trackball, um den entsprechenden Teil des Bildes zu beeinflussen. Verwenden Sie dann die Schatten- und Glanzlichtbegrenzungen, um zu verhindern, dass die Farbkorrektur übersteuert oder zu weit getrieben wird.

Bloom Override-Schnittstelle
Blüte

Bloom erzeugt den Effekt, dass das Licht um die Lichtquelle herum ausläuft. Dadurch wird der Eindruck vermittelt, dass die Lichtquelle sehr hell ist, als würde sie die Kamera überwältigen.

Passen Sie die Intensität und Streuung an, um die Größe und Helligkeit des Blooms zu verändern. Verwenden Sie den Schwellenwert, um die Schärfe bei schwachen oder nicht hellen Pixeln zu erhalten.

Lens Dirt wendet hingegen eine Textur aus Flecken oder Staub an, um den Bloom-Effekt zu beugen.

Schnittstelle zur Überschreibung der Tiefenschärfe
Tiefenschärfe

Die Tiefenschärfe simuliert die Schärfeeigenschaften eines echten Kameraobjektivs.

Objekte, die sich in der Nähe oder weiter entfernt von der Fokusentfernung der Kamera befinden, erscheinen unscharf. Sie können den Fokusabstand von:

  • Die Lautstärke wird durch den manuellen Fokusmodus überschrieben: Hier steuert das Volumen selbst den Fokusabstand. So können Sie beispielsweise die Kamera je nach Standort absichtlich unscharf machen (z. B. bei Unterwasserszenen).
  • Eine Cinemachine Kamera mit der Erweiterung der Lautstärkeeinstellungen: Verwenden Sie diese Funktion, um ein Ziel zu verfolgen und automatisch zu fokussieren.
  • Die Eigenschaften der physischen Kamera im Modus Physischer Kamerafokus: Verwenden Sie dies, um den Parameter Fokusabstand der Komponente Kamera zu animieren.

Wenn die Schärfentiefe aktiviert ist, kann um jeden hellen Bereich des Bildes ein unscharfer Unschärfeeffekt, das so genannte Bokeh, auftreten. Ändern Sie die Form der Kamerablende, um das Aussehen des Bokehs zu verändern. Siehe den Abschnitt über zusätzliche Parameter der Physikalischen Kamera auf dieser Anleitungsseite zu Anti-Aliasing, Lautstärke und Belichtung.

Für Cinematics oder Offline-Rendering können Sie eine teurere, aber physikbasierte Tiefenschärfe wählen, um zusätzliche Einstellungen und benutzerdefinierte Qualität zu ermöglichen.

Weißabgleich-Schnittstelle
Weißabgleich

Mit der Weißabgleichsüberschreibung wird die Farbe einer Szene so angepasst, dass die Farbe Weiß im endgültigen Bild korrekt wiedergegeben wird. Sie können die Temperatur drücken, um zwischen Gelb (wärmer) und Blau (kälter) zu wechseln, und die Tönung, um den Farbstich zwischen Grün und Magenta anzupassen.

In der HDRP-Beispielszene enthalten die lokalen Volumes Weißabgleichsüberschreibungen für jeden Raum.

Farbkurven-Schnittstelle
Farbkurven

Verwenden Sie Farbkurven, um bestimmte Bereiche in Farbton, Sättigung oder Helligkeit anzupassen. Wählen Sie eines der acht verfügbaren Diagramme aus, um Farbe und Kontrast neu anzupassen.

Schieberegler für Farbanpassungen
Farbanpassungen

Verwenden Sie die Optionen zur Farbanpassung, um den Gesamtfarbton, den Farbton, die Sättigung und den Kontrast des endgültigen gerenderten Bildes zu optimieren.

Kanalmixer-Schieberegler
Kanal-Mixer

Mit dem Kanalmixer kann ein Farbkanal den "Mix" eines anderen beeinflussen. Wählen Sie einen RGB-Ausgang aus und passen Sie dann seinen Einfluss an. Wenn Sie beispielsweise den Grün-Einfluss im Rot-Ausgangskanal erhöhen, erhalten alle grünen Bereiche des Bildes einen rötlichen Farbton.

Demo zur Objektivverzerrung
Objektiv-Verzerrung

Lens Distortion simuliert radiale Muster, die durch Unzulänglichkeiten bei der Herstellung von realen Linsen entstehen. Dies führt dazu, dass gerade Linien leicht gebogen oder gekrümmt erscheinen, insbesondere bei Zoom- oder Weitwinkelobjektiven.

Vignetten-Demo
Vignette

Vignette imitiert einen Effekt aus der praktischen Fotografie, bei dem die Ecken des Bildes verdunkelt und/oder entsättigt werden. Dieser Effekt kann bei Weitwinkelobjektiven auftreten oder durch eine Vorrichtung (wie eine Gegenlichtblende oder gestapelte Filterringe) verursacht werden, die das Licht blockiert. Sie kann auch verwendet werden, um die Aufmerksamkeit des Betrachters auf die Mitte des Bildschirms zu lenken.

Bewegungsunschärfe

Objekte in der realen Welt erscheinen in einem Bild als Streifen oder verschwommen, wenn sie sich schneller bewegen als die Belichtungszeit der Kamera.

Verwenden Sie die Bewegungsunschärfe-Überlagerung, um diesen Effekt zu simulieren. Um die Leistungskosten zu minimieren, verringern Sie die Anzahl der Abtastungen, erhöhen die Mindestgeschwindigkeit und verringern die Höchstgeschwindigkeit. Sie können auch die Parameter des Kameraklemmenmodus unter den zusätzlichen Eigenschaften reduzieren.

Beispiele für Lens Flare
Streulicht

Im Allgemeinen entsteht ein Lens Flare, wenn helles Licht auf das Objektiv einer Kamera fällt. Es kann sich dabei um ein einzelnes helles Blendlicht oder um mehrere farbige polygonale Flares handeln, die der Blende der Kamera entsprechen. Im wirklichen Leben haben Flares einen unerwünschten Effekt, können aber für einen erzählerischen oder künstlerischen Zweck verwendet werden. So kann beispielsweise ein starkes Lens Flare die Aufmerksamkeit des Spielers erregen oder die Stimmung einer Umgebung oder Szene verändern.

Verwenden Sie in HDRP Lens Flare als Post-Processing-Effekt in den späteren Phasen des Rendering-Prozesses.

Lens Flare Asset
Lens Flare Asset

Das Aussehen des Streulichts ist im Streulicht-Asset angegeben, aber um den Effekt zu rendern, müssen Sie die Komponente Lens Flare (SRP)zu einem Objekt in der Szenenansicht hinzufügen, z. B. zu einer Lichtquelle oder einem anderen Objekt, das den Streulichteffekt erzeugen soll.

Die Komponente steuert die allgemeinen Intensitäts-, Skalen- und Verdeckungsparameter des Effekts. Es bietet auch die Möglichkeit, außerhalb des Bildschirms zu laufen, wenn sich das Streulicht außerhalb der Kameraansicht befindet (obwohl es immer noch einige Streulichteffekte in die Szene projizieren sollte, besonders wenn das Streulicht von einer statischen Quelle kommt).

Um sich mit Lens Flares vertraut zu machen, installieren Sie die Samples über den Paketmanager. Dadurch wird eine Reihe von vordefinierten Flare-Assets hinzugefügt und die HDRP-Beispielszene so geändert, dass sie Lens-Flare-Effekte enthält. Außerdem finden Sie eine Testszene, in der Sie Lens Flares durchsuchen und Ihre eigenen erstellen können.

Wenn Sie z. B. Directional Light Sun im Projekt auswählen, finden Sie die Komponente Lens Flare (SRP), die mit dem Licht verbunden ist, sowie ein Daten-Asset. Ändern Sie die Anlage, um verschiedene Reflexionseffekte zu beobachten.

Linsenreflexe werden aus Linsenreflexelementen hergestellt. Jedes Element steht für ein anderes Artefakt, das ein Flare erzeugen kann. Die Form des Elements kann ein Polygon, ein Kreis oder ein anderes benutzerdefiniertes Bild sein. Mit den Elementparametern können Sie die Farbe, die Transformationsposition und die Skalierung anpassen.

Wenn sie mit einer Lichtquelle verbunden sind, können die Flare-Elemente die Tönung nutzen, um dasselbe Flare-Asset mit vielen verschiedenen Lichtquellen wiederzuverwenden.

Sehen Sie sich diese Präsentation an, um mehr über die Funktionsweise von Lens Flares zu erfahren.

Rendering-Debugger-Schnittstelle
Rendering-Debugger

Das Fenster Rendering-Debugger(Fenster > Analyse > Rendering-Debugger) enthält Debugging- und Visualisierungswerkzeuge, die speziell für die Scriptable Render Pipeline (SRP) entwickelt wurden. Die linke Seite ist nach Kategorien geordnet. Jedes Panel ermöglicht es Ihnen, Probleme in den Bereichen Beleuchtung, Materialien, Volumen, Kameras usw. zu isolieren.

Der Rendering-Debugger ist auch zur Laufzeit in der Spielansicht im Spielmodus oder in einem Player-Build unter Development-Build verfügbar. Sie können das Menü mit der Tastenkombination Strg+Backspace oder durch Drücken der beiden Sticks eines Game Controllers öffnen.

Beleuchtungsmuster
Vollbild-Debug-Modus

Der Debugger kann Sie bei der Fehlersuche in einem bestimmten Rendering-Durchgang unterstützen. Im Beleuchtungsbedienfeld können Sie den Vollbild-Debug-Modus aufrufen und die zu debuggenden Funktionen auswählen.

In diesem Modus können Sie "Pixeldetektiv" spielen und die Ursache für ein bestimmtes Beleuchtungs- oder Schattierungsproblem ermitteln. Die Panels auf der linken Seite zeigen Ihnen, wie wichtige Statistiken von Kameras, Materialien, Volumina usw. Ihr Rendering optimieren können.

Wenn der Vollbild-Debug-Modus aktiv ist, schalten die Ansichten Szene und Spiel auf eine temporäre Visualisierung einer bestimmten Funktion um. Dies kann als nützliche Diagnose dienen.

Sie können auch mehrere allgemeine Materialeigenschaften unter Materialbildschirm > Allgemeine Materialeigenschaften debuggen, einschließlich Albedo, Normal, Glätte und Glanzgrad.

Um die Leistung zu testen, wechseln Sie im Wiedergabemodus zum Fenster Rendering Debugger. Dort können Sie auf ein Statistik-Panel zugreifen.

Vollständige Informationen finden Sie in der Dokumentation zum Debugger.

Strahlenverfolgung im Rendering-Pipeline-Assistenten
Raytracing (Vorschau)

Raytracing ist eine Technik, die überzeugendere Renderings als die herkömmliche Rasterung erzeugen kann. Während die Berechnung in der Vergangenheit teuer war, haben die jüngsten Entwicklungen in der hardwarebeschleunigten Strahlenüberschneidung (oder -verfolgung) die Strahlenverfolgung für Echtzeitanwendungen möglich gemacht.

Raytracing in HDRP ist ein hybrides System, das immer noch auf gerastertem Rendering basiert und Preview-Unterstützung für Raytracing mit einer Teilmenge ausgewählter GPU-Hardware und der DirectX 12-API bietet. Unter Erste Schritte mit Raytracing finden Sie eine Liste der Systemanforderungen.

Um Raytracing (in der Vorschau) zu aktivieren, müssen Sie die Standard-Grafik-API Ihres HDRP-Projekts auf DirectX 12 ändern. Öffnen Sie den Render-Pipeline-Assistenten(Fenster > Render-Pipeline > HD-Render-Pipeline-Assistent).¹ Klicken Sie auf der Registerkarte HDRP + DXR auf Alles reparieren und starten Sie dann den Editor neu. Folgen Sie den Anweisungen des Pipeline-Assistenten, um alle deaktivierten Funktionen zu aktivieren.

Sie können die Strahlenverfolgung auch manuell einrichten.

Sobald Sie das Raytracing für Ihr Projekt aktiviert haben, überprüfen Sie, ob in den globalen HDRP- und Kamerabild-Einstellungen auch das Raytracing aktiviert ist. Vergewissern Sie sich, dass Sie eine kompatible 64-Bit-Architektur in Ihren Build-Einstellungen verwenden, und überprüfen Sie Ihre Szenenobjekte unter Bearbeiten > Rendern > Szeneninhalt für HDRP-Raytracing prüfen.

_____________

¹ In Unity 2021 finden Sie den HDRP-Assistenten unter Fenster > Rendering > HDRP-Assistent.

Bildschirmraum-Ambient Occlusion vs. Ray-Traced Ambient Occlusion
Überschreibt: Ray-Traced Ambient Occlusion

Die Strahlenverfolgung fügt einige neue Lautstärkeüberschreibungen hinzu und verbessert viele der bestehenden Überschreibungen in HDRP. In den folgenden Abschnitten werden die einzelnen Überschreibungen näher erläutert.

Ambient Occlusion

Ray-Traced Ambient Occlusion ersetzt sein Gegenstück im Bildschirmraum. Im Gegensatz zu Screen Space Ambient Occlusion (SSAO) erlaubt Ray-Traced Ambient Occlusion die Verwendung von Geometrie außerhalb des Bildschirms, um die Okklusion zu erzeugen. Auf diese Weise verschwindet der Effekt nicht oder wird zum Rand des Bildes hin ungenau.

Raytracing von Lichtclustern im Debug-Modus
Licht-Cluster

HDRP unterteilt Ihre Szene in ein achsenorientiertes Gitter, das um die Kamera zentriert ist. Es verwendet diese Struktur, um die Menge der lokalen Lichter zu bestimmen, die zur Beleuchtung beitragen können, wenn ein Strahl auf eine Oberfläche trifft. Es kann dann Lichtreflexionen für bestimmte Effekte berechnen, wie z. B. Ray-Traced Reflections und Ray-Traced Global Illumination.

Verwenden Sie die Funktion Camera Cluster Range Volume Override, um den Bereich dieser Struktur zu ändern und sicherzustellen, dass er die zu berücksichtigenden GameObjects und Lichter umfasst.

Sie können einen HDRP-Debug-Modus verwenden, der über Windows > Analyse > Rendering-Debugger > Beleuchtung > Vollbild-Debug-Modus verfügbar ist. Dies hilft bei der Visualisierung der Licht-Cluster-Zellen (rot hervorgehoben) und zeigt an, wo die Anzahl der Lichter pro Zelle im HDRP-Asset die maximale Anzahl erreicht hat. Passen Sie diese Einstellung an, um unerwünschtes Streulicht und andere Artefakte zu reduzieren.

Globale Beleuchtung mit Strahlenverfolgung in Echtzeit
Ray-Traced Global Illumination

Ray-Traced Global Illumination ist eine Alternative zu Screen Space Global Illumination (SSGI) und Light Probes für die Simulation von indirekter Beleuchtung. Sie berechnet in Echtzeit und ermöglicht es Ihnen, den langwierigen Offline-Prozess des Backens von Lightmaps zu vermeiden und dabei vergleichbare Ergebnisse zu erzielen.

Verwenden Sie Qualitätseinstellungen für komplexe Innenräume, die von mehreren Bounces und Samples profitieren. Der Performance-Modus (begrenzt auf ein Sample und einen Bounce) eignet sich gut für Außenbereiche, in denen die Beleuchtung hauptsächlich vom primären gerichteten Licht ausgeht.

Strahlenverfolgte Reflexionen
Strahlenverfolgte Reflexionen

Nutzen Sie Ray-Traced-Reflexionen, um im Vergleich zu Reflexionssonden oder Screen Space Reflections eine höhere Qualität der Reflexionen zu erzielen. Meshes außerhalb des Bildschirms erscheinen in den resultierenden Reflexionen korrekt.

Passen Sie die Werte Minimum Smoothness und Smoothness Fade Start an, um den Schwellenwert zu ändern, ab dem glatte Oberflächen Ray-Traced Reflections empfangen. Erhöhen Sie bei Bedarf die Anzahl der Bounces (z. B. zwei Spiegel, die sich gegenseitig reflektieren), aber denken Sie an die Kosten für die Leistung.

Ray-Traced-Schatten
Ray-Traced-Schatten

Verwenden Sie strahlenverfolgte Schatten für gerichtete, punktförmige, punktuelle und rechteckige Flächenlichter. Sie können Schattenkarten von jedem undurchsichtigen GameObject ersetzen. Gerichtetes Licht kann auch Ray-Traced Shadows von transparenten oder transluzenten GameObjects werfen.

Das Raytracing erzeugt natürlich wirkende Schatten, die mit zunehmender Entfernung vom Werfer weicher werden, wie im richtigen Leben. Gerichtetes, punktförmiges und punktuelles Licht kann auf ähnliche Weise halbtransparente Schatten erzeugen.

Darüber hinaus erzeugen die gerichteten HDRP-Lichter halbtransparente, farbige Schatten. In dem Beispiel wirft eine Glasfläche einen genau getönten Schatten auf den Boden.

Weitere Ressourcen

Unter Aktivieren von Raytracing mit HDRP finden Sie einen Überblick über die Raytracing-Funktionen der High Definition Render Pipeline in der Vorschau. Weitere Informationen finden Sie in der Dokumentation zur Strahlenverfolgung.

War dieser Inhalt hilfreich?