Erleben Sie die neuen Unity Terrain-Demo-Szenen für HDRP und URP.

XIAOXI LIU / UNITY TECHNOLOGIESContributor
Feb 18, 2022|18 Min.
Erleben Sie die neuen Unity Terrain-Demo-Szenen für HDRP und URP.
Diese Website wurde aus praktischen Gründen für Sie maschinell übersetzt. Die Richtigkeit und Zuverlässigkeit des übersetzten Inhalts kann von uns nicht gewährleistet werden. Sollten Sie Zweifel an der Richtigkeit des übersetzten Inhalts haben, schauen Sie sich bitte die offizielle englische Version der Website an.
Hören Sie von technischen Künstlern hinter den Kulissen und erhalten Sie Best Practices für die Erstellung organischer Spielumgebungen.

Die Erstellung von hochauflösenden Umgebungen für Ihr Spiel kann eine massive Aufgabe sein. Deshalb haben wir während der Veröffentlichung des 2021.2 Tech Stream eine Reihe von Updates eingeführt, darunter neue Terrain-Stempel-Pinsel, verfeinerte Materialmalsteuerungen, GPU-Instanzierungsfähigkeiten für Terrain-Details und die Integration von SpeedTree, neben anderen Verbesserungen der Terrain-Erstellungserfahrung. Wir haben sogar das kostenlose Terrain Sample Asset Pack aktualisiert, um Ihre Entwicklung zu unterstützen. Dahinter arbeitete ein Team von technischen Künstlern daran, eine glaubwürdige Umgebungs-Szene mit Unitys High Definition Render Pipeline (HDRP) für PC und High-End-Konsolen zu erstellen und sie auf Unitys Universal Render Pipeline (URP) für plattformübergreifende Reichweite zu migrieren. Wir bringen Ihnen jetzt eine Sammlung von Tipps, Tricks und Best Practices, die mit der neuen Unity Terrain URP Demo-Szene und HDRP Demo-Szene einhergehen.

Lernen Sie die technischen Künstler kennen
Xiaoxi Liu

Hallo zusammen. Mein Name ist Xiaoxi Liu und ich bin 2018 als technischer Künstler zu Unity gekommen, um Funktionen und Arbeitsabläufe für Künstler in Unity zu verbessern, vom Terrain-System bis zu Shader Graph. In meiner Freizeit genieße ich Outdoor-Aktivitäten mit meinem sehr aktiven vierjährigen Sohn.

Barrington Campbell

Hallo, mein Name ist Barrington Campbell. Ich bin 2019 als Praktikant zu Unity gekommen und habe 2020 eine Vollzeitstelle als technischer Künstler übernommen. Während meiner Zeit bei Unity habe ich versucht, das Terrain-System zu verbessern, mit Schwerpunkt auf der Entwicklung von Werkzeugen und Benutzerarbeitsabläufen. Außerhalb der Arbeit baue ich mein Zeitangriffsauto und rase am Wochenende damit.

Tipps und Tricks zur Erstellung organischer Umgebungs-Szenen
Weltenbau mit den neuesten Terrain-Tools

Während das Terrain Tools Paket ursprünglich in der 2021.2 Tech-Version verifiziert wurde, ist es jetzt über den Paket-Manager und das Weltenbau-Feature-Set in Ihrem Projekt installierbar. Das Paket ist mit zusätzlichen künstlerischen Terrain-Malpinseln und Dienstprogrammen ausgestattet, um Ihre Weltenbauprozesse zu unterstützen.

Unity Terrain Satellit

Roundtripping von DCC

In der Preproduktionsphase des Terrain-Demo-Projekts hat unser technisches Kunstteam mehrere Schlüsselfaktoren herausgearbeitet, um diese hervorzuheben, wobei letztendlich die detaillierte Terrain-Höhenkarte und die dichte Laubabdeckung priorisiert wurden.

Wir verwendeten ein prozedurales Terrain-Generierungstool namens Gaea, um eine hochauflösende Höhenkarte und Splatmap zu generieren, gefolgt von der Toolbox, um diese Karten im Editor zu importieren. Für die Terrain-Höhenkarte verwendeten wir das Import Heightmap-Tool, um sie auf ein 4x4 gefliestes Terrain in Unity im Maßstab 4.000 Einheiten anzuwenden. Mit dem Import Splatmap-Tool haben wir die Splatmap auf das geflieste Terrain angewendet. Dieser Prozess wurde während der Erstellung unseres Projekts festgelegt, das grundlegende Roundtripping-Workflows von Gaea zu Unity Terrain bereitstellte.

Nach dem ersten Import in Unity hatten wir eine sehr solide Terrain-Oberfläche, von der wir ausgehen konnten, aber mit bestimmten Bereichen, die wir manuell übermalen wollten.

Malerei mit Höhenkarten-Stempeln

Der Stamp Terrain-Pinsel ist ein großartiges Werkzeug, um Terrain-Höheninformationen schnell anzupassen und realistische Ergebnisse zu erzielen. Wir haben einige gebrauchsfertige Höhenkarten im Terrain Sample Asset Pack veröffentlicht, aber Sie können auch Ihre eigenen Höhenkarten aus DCCs generieren.

Malerei mit Terrain-Layer-Materialien

Wie Sie vielleicht bereits wissen, bestehen die Terrain-Materialien von Unity aus Terrain Layer-Assets. Der Paint Texture-Pinsel ermöglicht es Ihnen, Material in der Szenenansicht auszuwählen und zu wechseln, während die Brush Mask Filters und die kürzlich verbesserte Benutzeroberfläche des Terrain Tools-Pakets es Ihnen ermöglichen, atemberaubende Ergebnisse mit weniger Aufwand zu erzielen.

Zum Beispiel können Sie den Malbereich einschränken, indem Sie einen Neigungsfilter hinzufügen. Zuerst wenden Sie die grasige Materialschicht auf die Seitenfläche des Terrains an, dann verwenden Sie einen Konkavitätsfilter, um die Bodenschicht auf die Krümmungen zu beschränken. Sie können einen Filter isolieren, indem Sie die anderen deaktivieren, oder sogar Filter kombinieren, wenn nötig.

Es gibt zusätzliche Sculpting-Pinsel im Paket, wie die Erosions- und Rausch-Effekte, die Sie auch in Ihren Terrain-Baufluss integrieren können, um optimale Ergebnisse zu erzielen.

Terrain mit dichter Laubabdeckung bedecken

Seit der Veröffentlichung von 2021.2 nutzt Unity Terrain die Leistung Ihrer GPU, um massive Mengen an Laub mit Unterstützung für instanzierte Details zu rendern. Dies ist nützlich für Bereiche mit Laub, die eine dichte Abdeckung erfordern, wie Gras und Sträucher.

Unity Terrain See

Auf den meisten PC-Plattformen können Sie Millionen von instanzierten Details bei über 60 FPS rendern. Im Demobereich werden beispielsweise über 50 Millionen Dreiecke aus wenigen Blickwinkeln gerendert. Um Instanzierung zu aktivieren, gehen Sie zu Edit Details Mesh und aktivieren Sie das Kontrollkästchen Use GPU Instancing.

Bild

Erweiterte Schattierung mit instanzierten Details

Instanzierte Details ermöglichen es Ihnen, benutzerdefinierte Materialien zu verwenden – ein großer Vorteil bei der Arbeit mit HDRP oder URP. Für das bestmögliche Erlebnis empfehlen wir, Grasmaterialien mit Shader Graph zu erstellen. Lassen Sie uns einen genaueren Blick auf das TerrainGrass.shadergraph werfen.

Mit der Unterstützung von Custom Interpolators, einer kürzlichen Ergänzung zu Shader Graph, können wir jetzt Vertex-Manipulationen in der Vertex-Phase mit insgesamt besserer Leistung durchführen. In diesem Projekt haben wir die Vertex-Phase für Windanimationen sowie das Aussehen von verblassendem Gras durch Farbe und Umgebungsocclusion genutzt, abhängig von der Entfernung zur Kamera. Angesichts der hohen Instanzanzahl für die Randomisierung sowie der Möglichkeit, einzelne Grasobjekte zu greifen und zu positionieren, können Sie coole standortbasierte Effekte in Ihrem Shader erstellen, wie Windwellen und Farbverläufe vom Terrain darunter.

Eine Sache, die es wert ist, erwähnt zu werden, ist, dass die LOD Group-Komponente nicht mit Terrain-Details kompatibel ist, obwohl Sie dennoch Prefabs für Details verwenden und die Sichtdistanz im Shader Graph Shader oder über die Detail Distance-Einstellung im Terrain anpassen können.

Ermächtigt durch SpeedTree

Unity Terrain Wald

Natürlich sind Bäume entscheidend für die Schaffung glaubwürdiger Umgebungen. Die Demobereiche enthalten eine Vielzahl von benutzerdefinierten Bäumen von SpeedTree, einem Modellierer, der es Ihnen ermöglicht, leistungsstarke Vegetation mit prozeduralen Generatoren für nahezu jedes Projekt zu erstellen, unabhängig von der Größe. Mit Unterstützung durch die Integration von Shader Graph können Sie sofort einsatzbereite Shader nutzen, die alle Funktionen von SpeedTree in Unity enthalten – denken Sie an Wind, Farbvariationen, Billboard-Rendering und mehr. Ähnlich wie die bearbeitbaren Materialinstanzen sind Shader Graph-Shader anpassbar, sodass Sie neue Shader in Ihrem Projekt speichern und frei bearbeiten können. Suchen Sie nach Materialien extrahieren unter Importeinstellungen, um mit Ihrer Anpassung zu beginnen.

Titel

Bäume und Details werden typischerweise mit dem Bäume malen und Details malen Pinsel gemalt, ähnlich wie die bestehenden Mal-Workflows, mit denen Sie wahrscheinlich vertraut sind. Dank der Pinsel-APIs, die in den Terrain-Tools verfügbar sind, können Sie einen benutzerdefinierten Pinsel erstellen. Verweisen Sie dann auf das Terrain-Modul für Ihr eigenes Projekt.

Mit der Unterstützung für instanzierte Details und der Integration von SpeedTree haben Sie die Möglichkeit, Terrain-Laub mit fortschrittlicher Anpassung aus Shader Graph zu erstellen. Wir haben letztes Jahr auf Siggraph darüber gesprochen und einige zusätzliche Details behandelt, die Sie interessieren könnten.

Lichttreue im HDRP erreichen
Unity Terrain Hang

Mit HDRP in Unity 2021.2 können Sie überzeugende und dynamische Himmel mit dem neuen Volumetrischen Wolken System erstellen. Insbesondere bietet das Physical Sky-System im HDRP Standardparameter zur Erzeugung physikalisch korrekter Himmelbeleuchtung.

Wenn wir uns die Tagesumgebung ansehen, die wir in der Szene erreichen möchten, ist die Intensität der Sonne auf einen Wert eingestellt, den wir außerhalb des dämpfenden Effekts der Atmosphäre erwarten würden – 130.000 Lux – während die Farbtemperatur auf einen Wert eingestellt ist, der als schwarzer Körper bei 5.800 K approximiert wird. Mit der Nachbearbeitung kann die Temperatur des Lichts kompensiert werden, genau wie es in einer Physikalischen Kamera der Fall wäre.

Sie möchten nicht, dass kurzes Gras Schatten wirft, wenn es in einem Teppichstil platziert wird, da dies teuer für den Rendering-Thread wäre – ganz zu schweigen von unrealistisch und weniger visuell ansprechend. Deshalb haben wir einige Techniken für die richtige Beleuchtung und Schatten auf Terrain-Detailobjekten eingesetzt, wie z.B. Kontakt-Schatten, um viel bessere visuelle Ergebnisse mit geringeren Kosten zu erzielen.

Terrain-Detailobjekte wie Gras und niedrige Vegetation teilen sich alle die Umgebungsproben der Szene, um die Rendering-Leistung zu verbessern. Da diese Objekte ungehinderte Beleuchtung vom Himmel erhalten, kann das Ergebnis oft zu hell sein. Um dies zu korrigieren, haben wir uns entschieden, ein separates "Baking-Sky"-Volumen zu verwenden. Dies ermöglichte es uns, die Belichtung des Himmels, der zur Erzeugung der Umgebungsprobe verwendet wird, zu reduzieren und die Lichtintensität des Grases zu senken, ohne das visuelle Erscheinungsbild des Himmels in der Szene zu verändern.

Terrain von HDRP zu URP übertragen

Es war unser Ziel, Terrain in beiden scriptable render pipelines zu demonstrieren, was sich als großartige Lerngelegenheit für das gesamte Team herausstellte.

Wie wir gezeigt haben, sind die TerrainData Assets zwischen HDRP- und URP-Projekten teilbar. Wir haben damit begonnen, das Terrain im HDRP-Projekt zu konstruieren und die TerrainData-Assets nach der Material- und Laub-Massenphase in das URP-Projekt zu bringen. Indem wir die Terrain-Kacheln in ein Prefab umwandelten, beschleunigten wir den Integrationsprozess in URP.

Während die Terrain-Skala und -Auflösungen für beide Projekte dieselben Einstellungen teilen, wählten wir den höhenbasierten Materialmischmodus in HDRP und den standardmäßigen Alpha-Mischmodus in URP für optimale visuelle Treue. Beachten Sie, dass HDRP das Mischen von bis zu acht Terrain-Schichten ermöglicht.

Wir haben Beleuchtung und Nachbearbeitung in beiden Projekten gestaltet, um die neuesten verfügbaren Rendering-Funktionen zu maximieren. Im HDRP-Projekt haben wir die volumetrischen Wolken und den prozeduralen Himmel wie zuvor erwähnt eingerichtet. Dann haben wir den prozeduralen Himmel in Texturen gebacken, um ihn als HDRI-Himmel im URP-Projekt zu verwenden.

Nebelsimulation wird in jedem Fall unterschiedlich behandelt. Wir haben den volumetrischen Nebel für niedrigen Nebel um den See in HDRP genutzt, aber benutzerdefinierte Partikeleffekte aus dem Visual Effect Graph in URP erstellt.

Hier ist eine Übersicht der Funktionen, die wir zum Vergleich verwendet haben:

Unity Terrain Vergleichstabelle
Maximierung der Leistung für Ihr Unity Terrain-Projekt

Leistung ist entscheidend, wenn es um Echtzeit-3D-interaktive Erlebnisse geht, und es gibt mehrere Ansätze, die wir in diesem Projekt verwendet haben, um sie zu verbessern. Das Render-Pipeline-Asset, das in HDRP und URP verfügbar ist, ermöglicht es Ihnen, benutzerdefinierte Einstellungen für mehrere Plattformen zu erstellen. Am Beispiel der URP Terrain-Szene haben wir Hochqualitäts- und Niedrigqualitäts-Assets erstellt, wobei hochauflösende Schattenkarten und HDR-Funktionen nur für die Hochqualitätsversion aktiviert sind. Auf diese Weise können Sie die Einstellungen für jede Zielplattform einfach über Qualitätseinstellungen im Projekt-Einstellungsfenster konfigurieren. Tatsächlich können Sie verschiedene Einstellungen in Ihrer Arbeitsumgebung direkt im Editor wechseln und anzeigen; wechseln Sie einfach das Render-Pipeline-Asset aus den Grafikeinstellungen.

Bild

Neben den Projekteinstellungen zur Leistungssteigerung haben wir einige Inhaltsoptimierungen im Terrain vorgenommen. Im HDRP-Terrain-Szenario haben wir beispielsweise die Auflösung für die äußeren Terrain-Kacheln in der Ferne reduziert. Sie sollten diese Auflösungsänderung jedoch erst nach Abschluss Ihres Terrain-Malprozesses vornehmen. Andernfalls kann das Malen über benachbarte Kacheln aufgrund der unterschiedlichen Auflösung zu Inkonsistenzen führen.

Dichte Details sind die häufigsten Leistungsprobleme bei Low-End-Plattformen. Es ist wichtig, die Anzahl der Mesh-Vertex niedrig zu halten. Im HDRP-Szenario haben wir die Detaildichte auf 0,75 gesetzt, mit einer näheren Culling-Distanz von 145 Metern auf den zentralen Terrain-Kacheln. Sie könnten versuchen, die Dichte- und Culling-Distanzparameter zu erhöhen oder zu verringern, um zu sehen, was gut zusammenpasst. Alternativ könnten Sie die LOD-Distanzen bei Bäumen anpassen, damit sie LOD und Billboard früher rendern, um einen angemessenen Gewinn zu erzielen.

Wenn Sie URP verwenden und für Plattformen bauen, die GPU-Instanzierung nicht unterstützen oder eine sehr begrenzte Hardware-Bandbreite haben, könnten Sie den Vertex Lit-Modus für das Rendern von Terrain-Details wählen. Aber im Gegensatz zu instanziierten Details unterstützt dieser Modus keine Schatten, doppelseitiges Rendering oder Alpha-Clipping.

Möchten Sie mehr erfahren? Für zusätzliche Tipps und Tricks zur Leistungsoptimierung sollten Sie diesen Blogbeitrag und unsere Unite Now Videos unbedingt ansehen.

Jetzt starten

Um auf die neuen Unity Terrain-Demo-Szenen sowohl für HDRP als auch für URP zuzugreifen, gehen Sie zum Asset Store und importieren Sie sie direkt in Ihr Unity 2021.2-Projekt. Sobald Sie die Szenen vollständig erkundet haben, lassen Sie uns wissen, was Sie auf den Worldbuilding-Foren denken.

Für weitere Informationen zu dem, was kommen wird, besuchen Sie bitte die Unity-Roadmap.

Zuletzt stellt Unitys technische Kunstteam ein. Sie können die offenen Stellen auf unserer Website einsehen. Wir freuen uns darauf, von Ihnen zu hören!