Engine & platform

Neue Shadergraphen Produktionsfertige Shader in Unity 6

BEN CLOWARD Senior Technical Artist
Jul 9, 2024|7:09 Min
Shader Graph Produktionsfertige Shader Beispiel

Das Shader Graph Team freut sich, die Veröffentlichung unseres neuesten Sets von Beispielen bekannt zu geben, die ab sofort in 2022 LTS und der kommenden Unity 6 Version importiert werden können. Dieser Satz von Beispielen enthält mehr als 25 Shader-Graph-Assets und Dutzende von Untergraphen, die Sie direkt in Ihren Projekten verwenden können. Die Beispiel-Shader funktionieren sowohl in HDRP als auch in URP.

Mit diesem Mustersatz verfolgen wir zwei Hauptziele:

  1. Geben Sie unseren Benutzern eine Starthilfe bei der Shader-Erstellung, indem Sie eine Reihe von Shadern bereitstellen, die sofort verwendet werden können.
  2. Stellen Sie Beispiele zur Verfügung, auf denen die Benutzer aufbauen oder die sie an ihre Bedürfnisse anpassen können.

Dieses Beispielset hilft Ihnen, die gewünschten Shader-Ergebnisse schneller zu erzielen, ohne bei Null anfangen zu müssen, und enthält außerdem eine Schritt-für-Schritt-Anleitung, die zeigt, wie Sie die Elemente kombinieren können, um realistische Umgebungen zu erstellen. Anhand des Tutorials können Sie sehen, wie die Shader im Kontext zusammenarbeiten.

Beispielhafter Inhalt

Im Folgenden finden Sie eine Übersicht über den Inhalt des Production Ready Shaders Pack:

HDRP- und URP-Lit-Shader
HDRP- und URP-Lit-Shader
HDRP- und URP-Lit-Shader

Sowohl URP als auch HDRP verfügen über codebasierte Shader. Der am häufigsten verwendete Shader für die einzelnen SRPs heißt Lit. Bei Projekten, die es verwenden, wird es oft auf fast jedes Mesh im Spiel angewendet. Sowohl die HDRP- als auch die URP-Versionen des Lit-Shaders sind mit allen Funktionen ausgestattet. Manchmal möchten Benutzer jedoch zusätzliche Funktionen hinzufügen, um ein bestimmtes Aussehen zu erzielen, oder nicht verwendete Funktionen entfernen, um die Leistung zu optimieren. Für Benutzer, die mit dem Shader-Code nicht vertraut sind, kann dies sehr schwierig sein.

Aus diesem Grund haben wir Shader Graph-Versionen des Lit-Shaders sowohl für URP als auch für HDRP in dieses Beispielpaket aufgenommen. Benutzer können eine Kopie des entsprechenden Shader-Graph-Lit-Shaders erstellen und dann jedes Material, das derzeit auf die Code-Version des Lit-Shaders verweist, in die Shader-Graph-Version ändern. Alle Materialeinstellungen werden korrekt übernommen und funktionieren weiterhin. Sie können dann bei Bedarf Änderungen an der Shader Graph Version vornehmen.

Aufkleber
Abziehbild-Shader
Abziehbild-Shader

Mit Abziehbildern können Sie lokale Materialänderungen an bestimmten Stellen Ihrer Szene vornehmen. Denken Sie z. B. an das Anbringen von Graffiti-Tags an einer Wand oder das Verstreuen von Laub unter einem Baum. Aber Aufkleber können für viel mehr verwendet werden. In diesen Beispielen sehen wir Abziehbilder, die Dinge nass aussehen lassen, die Oberflächen so aussehen lassen, als würden sie von fließendem Wasser bedeckt sein, die Kaustik von Wasser projizieren und bestimmte Materialien mit anderen Objekten vermischen.

Details zum Terrain
 Details zum Terrain
Terrain-Shader

Dieser Satz von Shadern ist für Meshes gedacht, die auf Terrain angewendet werden - wie Gras, Unkraut, Gestrüpp, Kieselsteine usw. Weitere Informationen finden Sie in der Terrain-Dokumentation zu Details. Detail-Meshes haben einige besondere Anforderungen an Shader. Erstens müssen die Shader aufgrund der großen Anzahl dieser Meshes, die auf dem Terrain verwendet werden, so schnell und effizient wie möglich sein. Das bedeutet vor allem, dass die Anzahl der Textursamples niedrig gehalten und mehr Arbeit im Vertex-Shader statt im Pixel-Shader erledigt wird. Zweitens: Da diese Meshes nicht mehr gerendert werden und in einem bestimmten Abstand herausspringen, verwenden wir eine Methode, um sie aufzulösen, um ein hartes Herausspringen zu verhindern, so dass es weniger offensichtlich ist, dass sie entfernt werden. In jedem Shader sehen Sie eine Abstandsmaske, die dazu dient, das Mesh in einem bestimmten Abstand aufzulösen, bevor das Rendering des Meshes endet.

Fels-Shader
Felsen-Shader
Felsen-Shader

Dies ist ein voll funktionsfähiger, modularer Fels-Shader, der für alles verwendet werden kann, von kleinen Kieselsteinen über Felsbrocken bis hin zu großen Felswänden. Es verfügt über Funktionen, die je nach Anwendung ein- und ausgeschaltet werden können. Jeder ist in einem Untergraphen gekapselt, so dass es einfach ist, nicht benötigte Merkmale zu entfernen. Sie können auch neue Funktionen in der Kette der Module hinzufügen.

Wasser-Shader
Wasser-Shader
Wasser-Shader

Das Beispielset enthält vier verschiedene Wasser-Shader - Seewasser, animiertes Teichwasser, Bachwasser und Bachwasserfall. In jedem Fall kommen Reflexion, Brechung, Oberflächenrippel mit scrollenden Normal Maps und Tiefennebel zum Einsatz. Außerdem bieten sie zusätzliche, für jeden Gewässertyp einzigartige Merkmale.

Auswirkungen des Wetters
Wettereffekte
Wettereffekte

Dieses Beispiel wird mit einem vollständigen Satz wetterbezogener Teilgraphen (Regen und Schnee) geliefert, die je nach den Anforderungen des Objekttyps gemischt und angepasst werden können. Zu den Regeneffekten gehören Regentropfen auf Objekten, Regentropfen, die an den Seiten herabrieseln, und Pfützen, die sich dynamisch auf flachen Oberflächen ansammeln können, einschließlich Regen- und Windrippeln.

Waldbach-Tutorial
Wald-Dampf-Tutorial
Wald-Dampf-Tutorial

Das Beispielset enthält auch ein Schritt-für-Schritt-Tutorial, in dem gezeigt wird, wie man die Wassershader, Abziehbilder, Felsen und Geländedetailmeshes zusammen mit verschiedenen anderen Unity-Funktionen kombiniert, um eine Waldbachumgebung zu erstellen. Das Tutorial zeigt, wie alles zusammengesetzt wird und wie die Assets des Sample Packs zusammen verwendet werden können, um eine Umgebung zu erstellen.

Installieren Sie die neuen Beispiel-Assets über den Paketmanager.

  1. Öffnen Sie im Editor den Paketmanager.
Fenstermenü mit ausgewähltem Paketmanager
Fenstermenü mit ausgewähltem Paketmanager

2. Wählen Sie im Fenster Paketmanager das Paket Shader Graph aus.

Shader Graph in der Paketverwaltung ausgewählt
Shader Graph in der Paketverwaltung ausgewählt

3. Wählen Sie die Registerkarte Proben.

Drücken Sie die Schaltfläche Importieren im Abschnitt Samples des Shader Graph Pakets
Drücken Sie die Schaltfläche Importieren im Abschnitt Samples des Shader Graph Pakets

4. Wählen Sie schließlich die Schaltfläche Produktionsfertiger Import, um den neuen produktionsfertigen Mustersatz in Ihr Projekt zu übernehmen.

Wenn diese Schritte abgeschlossen sind, werden die Node-Referenz-Assets in Ihrem Projekt unter Assets/Samples/Shader Graph/<Ihre Version>/Production Ready Shaders angezeigt.

Projektfenster, das anzeigt, wo das Beispiel für produktionsfertige Shader zu finden ist
Projektfenster, das anzeigt, wo das Beispiel für produktionsfertige Shader zu finden ist

Nachdem Sie die Beispiele importiert haben, öffnen Sie die Szene, die der von Ihnen verwendeten Render-Pipeline entspricht (High Definition Render Pipeline,(HDRP) oder Universal Render Pipeline (URP)):

  • Assets/Muster/Shader-Grafik/<Ihre Version>/Produktionsbereite Shader/Szenen/URPProductionReadyShaders
  • Assets/Beispiele/Shader-Grafik/<Ihre Version>/Produktionsbereite Shader/Szenen/HDRPProduktionsbereiteShader
Öffnen Sie die URP- oder HDRP-Beispielszene aus dem Ordner Scenes
Öffnen Sie die URP- oder HDRP-Beispielszene aus dem Ordner Scenes

Sobald die Szene geöffnet ist, wählen Sie das Element Shader Graph Feature Samples Showcase oben im Hierarchie-Panel aus und folgen dann der Führung im Inspektor.

Wählen Sie das Element Shader Graph Production Ready Shaders Showcase im Hierarchie-Panel
Wählen Sie das Element Shader Graph Production Ready Shaders Showcase im Hierarchie-Panel

Sie können das Dropdown-Feld Samples verwenden, um ein Sample auszuwählen und zu dieser Stelle in der Szene zu springen.

Muster Showcase asset
Muster Showcase asset

Unity fügt dem Shader Graph immer mehr Samples hinzu, und in den kommenden Monaten werden weitere Sample Packs folgen. Diese helfen Ihnen, Shader Graph schneller zu erlernen, zu verstehen, wie man bestimmte Funktionen einrichtet, und neue Shader mit vorgefertigten Subgraphen und Vorlagen schneller zu erstellen. Wir wünschen Ihnen viel Spaß bei der Nutzung.

Dies ist ein umfassendes und reichhaltiges Sample-Set. Wir wünschen Ihnen viel Spaß beim Erforschen und hoffen, dass Sie damit Ihren eigenen Shader-Erstellungsprozess beschleunigen können.

Wir würden gerne Ihre Gedanken und Eindrücke zu diesen Beispielen hören - teilen Sie uns Ihre Meinung im Shader Graph Forum mit.