Unity | Studiennotizen zur HDRP-High-Definition-Rendering-Pipeline: HDRP Custom Pass

Inhaltsverzeichnis

1. Einführung in Custom Pass Volume-Komponenten

1.Modus (Modus)

2. Einspritzpunkt (Einspritzpunkt)

3.Priorität

4.Fade-Radius

5. Benutzerdefinierte Pässe

2. Sehen Sie sich die Rendering-Phase von Custom Pass an


        Mit Custom Pass können Sie Folgendes tun ( offizielle Dokumentation ):

  • Ändern Sie das Erscheinungsbild von Materialien in der Szene.
  • Ändert die Reihenfolge, in der Unity Spielobjekte rendert.
  • Ermöglicht Unity, Kamerapuffer für Shader zu lesen.

        Unity verwendet Injektionspunkte, um benutzerdefinierte Durchgänge an einem bestimmten Punkt während der HDRP-Renderschleife auszuführen. Sie können steuern, wie sich benutzerdefinierte Durchläufe auf das Erscheinungsbild Ihrer Szene auswirken, indem Sie den Injektionspunkt ändern.

        Custom Pass verwendet außerdem das Volume-Framework, um verschiedene Einstellungen zu verwalten. Das Volume-Framework von Custom Pass weist jedoch die folgenden Unterschiede zum zuvor ausführlich beschriebenen Volume-Framework auf:

  • Es ist nicht möglich, benutzerdefinierte Pässe wie normale Volumes zu mischen. Wenn es mehrere überlappende benutzerdefinierte Durchläufe gibt, wird das benutzerdefinierte Durchlaufvolumen mit dem kleinsten Begrenzungsvolumen ausgeführt und andere benutzerdefinierte Durchläufe werden ignoriert.
  • Die Daten des Custom Pass werden nicht wie ein normales Volume in der HDRP-Konfigurationsdatei gespeichert, sondern im GameObject des aktuellen Custom Pass Volume.

1. Einführung in Custom Pass Volume-Komponenten

1.Modus (Modus)

        Sie können in Custom Pass Volume zwei Modi wählen: Global oder Local. Diese beiden Modi sind im Grunde die gleichen wie die beiden Modi bei normaler Lautstärke. Im globalen (globalen) Modus wirkt sich Custom Pass auf die gesamte Szene aus. Im lokalen (lokalen) Modus müssen wir einen zusätzlichen Kollisionskörper für Kollisionstests hinzufügen. Erst wenn die Kamera in der Szene mit dem Objekt „Custom Pass Volume“ mit dem Kollisionskörper kollidiert, wirkt sich der Custom Pass auf die gesamte Szene aus.

2. Einspritzpunkt (Einspritzpunkt)

        Es kann ein Injektionspunkt ausgewählt werden, um die Logik im Custom Pass auszuführen. Die 6 Injektionspunkte in den Optionen werden in der Reihenfolge von oben nach unten ausgeführt. An jedem Punkt können wir einige Pufferdaten lesen und schreiben, und wir wissen auch, welche Objekte gerendert wurden, bevor jeder Injektionspunkt mit der Ausführung der Custom Pass-Logik beginnt.

3.Priorität

        Wenn mehrere Custom Pass Volumes demselben Injektionspunkt zugewiesen sind, verwenden Sie diese Eigenschaft, um die Reihenfolge zu steuern, in der Unity sie ausführt. Unity führt diese Volumes in der Reihenfolge ihrer Priorität aus (beginnend bei 0).

4.Fade-Radius

        Im lokalen Modus gibt es eine zusätzliche Fade-Radius-Option, der Standardwert ist 0 und die Einheit ist m.

  • Wenn der Wert auf 0 gesetzt ist, bedeutet dies, dass der benutzerdefinierte Pass ungültig wird, sobald die Kamera den Box Collider verlässt, der mit dem benutzerdefinierten Pass-Volumen verknüpft ist.
  • Wenn der Wert größer als 0 ist, z. B. 3 m, wird der benutzerdefinierte Pass erst dann ungültig, wenn die Kamera den Box Collider weiter als 3 m verlässt.

5. Benutzerdefinierte Pässe

  • Benutzerdefinierter Vollbilddurchgang: Wird zum Ausführen von Effekten verwendet, die von Unity auf die Kameraansicht angewendet oder in einem benutzerdefinierten Durchlaufpuffer gespeichert werden.
  • Benutzerdefinierter DrawRenderers-Pass: Wird verwendet, um benutzerdefinierte Passes auf Spielobjekte in der Kameraansicht anzuwenden.
    • Filter: Legen Sie hier die Bedingungen fest, um die Objekte auszuwählen, die das Material ersetzen müssen.
      • Ebenenmaske: Wird verwendet, um die Ebene auszuwählen, auf der sich das Objekt in der Szene befindet.
      • Warteschlange: Wählen Sie hier über die Tags das Material aus, das wir beeinflussen möchten. Beispiel: Wählen Sie „Alles undurchsichtig“ als undurchsichtiges Material.
    • Überschreibungen: Wählen Sie hier die Materialinformationen aus, die überschrieben werden sollen.
      • Material: Ordnen Sie ein Material zu, um das durch die Filterbedingung gefundene Material zu ersetzen.
      • Passname: Da alle undurchsichtigen (undurchsichtigen) Objekte im Vorwärtsdurchlauf gerendert werden, wählen wir hier Vorwärts (Hinweis: Wenn der verzögerte Modus in der HDRP-Konfigurationsdatei festgelegt ist, müssen Sie „Beide“ auswählen, um den Weiterleitungsmodus zu unterstützen).
      • Override Depth (Override Depth): Wenn Sie Objekte rendern möchten, die nur über Custom Pass gerendert werden, müssen Sie diese Option aktivieren und Less Equal auswählen, damit die Informationen undurchsichtiger Objekte in den Tiefenpuffer geschrieben und dann gerendert werden können korrekt.
  • Benutzerdefinierter ObjectID-Pass: Wendet einzigartige, von ObjectID gesteuerte Farben auf GameObjects in der Szene an.

2. Sehen Sie sich die Rendering-Phase von Custom Pass an

        Öffnen Sie das Frame-Debugger-Fenster über das Menü Fenster→Analyse→Frame-Debugger, und wir können den gesamten Prozess des Renderns jedes Frames im Frame-Debugger-Fenster anzeigen. Nach dem Öffnen des Frame Debugger-Fensters kann es über die Schaltfläche „Aktivieren“ in der oberen linken Ecke aktiviert werden.

Supongo que te gusta

Origin blog.csdn.net/weixin_39766005/article/details/131457444
Recomendado
Clasificación