Buch der Toten: Tricks zu Quixel, Wind, Szenenaufbau und Inhaltsoptimierung

In dieser Blogserie werden wir jeden Aspekt der Erstellung unserer Demo besprechen Buch der Toten. Heute werden wir uns auf unsere Partnerschaft mit Quixel, unser Windsystem, den Aufbau von Szenen und Tricks zur Optimierung von Inhalten konzentrieren. Dies ist der vierte Blog in unserer 'Making Of'-Blogserie. Falls Sie es verpasst haben, werfen Sie einen Blick zurück auf die letzten drei Beiträge, die den kreativen Prozess für Charaktere, Konzeptkunst und Photogrammetrie-Assets, Bäume und VFX in Book of the Dead beschreiben.
Hallo! Mein Name ist Julien Heijmans, ich arbeite als Environment Artist im Unity Demo Team. Ich bin erst seit letztem Jahr bei Unity, habe aber schon rund 7 Jahre Erfahrung in der Videospielbranche. Dieser Blog-Beitrag gibt Ihnen einen Einblick in die Produktion von Book of the Dead aus meiner Perspektive, der Perspektive eines Content Creators und eines Environment Artists.
Ich bin ziemlich neu in der Arbeit der Photogrammetrie-Assets, aber ich erinnere mich deutlich an den Tag, an dem Quixel die Schaffung von Megascans vor einigen Jahren angekündigt hat. Seitdem wollte ich unbedingt die Gelegenheit bekommen, mit ihren Assets zu arbeiten. Der Beitritt zum Demo-Team von Unity hat dazu geführt, dass ich mit der Arbeit an The Book of the Dead begonnen habe.
Wenn Sie mit den in diesem Blog besprochenen Werkzeugen experimentieren möchten, können Sie das Buch der Toten herunterladen: Umweltprojekt jetzt.

Als ich dem Projekt beitrat, wurde mir klar, dass wir nicht nur Assets aus der Megascans-Bibliothek von Quixel verwenden, sondern dass Unity und Quixel bei der Erstellung dieses Projekts zusammenarbeiten.
Während des Produktionsprozesses erstellte das Demo-Team eine Liste der benötigten Assets, und Quixel erfasste neue Assets, wenn in der vorhandenen Bibliothek eine passende Ergänzung fehlte. Bei vielen dieser Objekte handelte es sich um Vegetation wie Gras, Pflanzen und Sträucher, die zum Scannen eine entsprechende Ausrüstung und Einrichtung erfordern.
Quixel hat uns nicht nur die Texturen für diese Assets zur Verfügung gestellt, sondern auch die Geometrie mit ihren LODs und Vertex-Farbeinstellungen zur Unterstützung unseres Wind-Shaders erstellt.

Zwischen dem veröffentlichten Buch der Toten: Umweltprojekts und die unveröffentlichten Assets, die im Teaser verwendet wurden, erhielten wir über 50 Assets von hoher Qualität und einer Komplexität, bei der wir mit den wenigen Künstlern, die wir im Team haben, Probleme gehabt hätten, unsere Fristen einzuhalten.
Während der Produktion konnten wir die Assets ziemlich schnell in die Engine einbringen, und sie sahen gut aus. Oft haben wir die Texturen optimiert (vor allem die Albedo, die Helligkeit/Stufen/Kurve und oft auch die Farben, um sie in der gesamten Szene zu vereinheitlichen), sie richtig verpackt, die LODs ein wenig auf das gewünschte Niveau gebracht, die Texturen einem neuen HDRP-Lit-Material zugewiesen, und das war's.
Glücklicherweise hat Quixel vor kurzem ein Tool, Megascans Bridge, herausgebracht, das den größten Teil der Importarbeit, die wir manuell erledigt haben, übernehmen kann. Das spart Zeit beim Umpacken von Texturen für HDRP und Ähnliches.

Für diejenigen, die an weiteren Megascans-Assets interessiert sind, hier eine Erinnerung, dass es mehrere Megascans-Collections im Unity Asset Store gibt. Alle Assets sind bereit für den Import in ein Projekt, das mit der High Definition Render Pipeline oder der Lightweight Render Pipeline eingerichtet wurde.

Die Schaffung eines Windsystems für Vegetationsanlagen und ihre gesamte Pipeline ist immer ein schwieriger Prozess. Es gibt viele verschiedene Arten von Vegetationsobjekten, die auf unterschiedliche Weise animiert werden müssen; zwei verschiedene Bäume können ein völlig unterschiedliches Setup und eine unterschiedliche Shader-Komplexität erfordern.
Aus diesem Grund beschloss unser Team, eine benutzerdefinierte, auf Vertex-Shader basierende prozedurale Animation für den Windeffekt auf unseren Vegetationsobjekten zu erstellen. Wir haben sie auf unser spezifisches Projekt und die darin enthaltenen Bäume und Sträucher zugeschnitten. So haben wir die vollständige Kontrolle über sie.
Torbjorn Laedre, unser technischer Leiter, hat einen Shader entwickelt, der mehrere verschiedene Vegetationstypen unterstützt und 3 verschiedene Techniken verwendet:
- Hierarchy Pivot, für unsere Bäume und einige Pflanzen mit einer sehr definierten Struktur/Hierarchie
- Single Pivot, für Gras, kleine Pflanzen und für große Büsche mit undefinierter Struktur/Hierarchie
- Prozedurale Animation, für Vegetationsbestände, bei denen die Drehpunkte nicht vorhersehbar sind.

Die Bäume waren die komplexeren Assets, die vorzubereiten waren. Auf der Inhaltsseite verwenden sie den Animationstyp Hierarchy Pivot und basieren auf drei verschiedenen Hierarchieebenen:
- Kofferraum, der auf dem Boden ruht.
- Zweige der Ebene A, die mit der Hauptleitung verbunden sind.
- Verzweigungen Ebene B, die mit den Verzweigungen der Ebene A verbunden sind.
Der Shader muss die Hierarchieebene und den Drehpunkt jedes einzelnen Scheitelpunkts des Baums kennen. Zunächst musste ich die Geometrie des Baumes selbst erstellen und dann die Hierarchieebene für jedes Polygon des Baumes mithilfe des grünen Vertex-Farbkanals zuweisen.

- Ein Wert von 0 für den grünen Kanal der Scheitelfarbe würde bedeuten, dass es sich um den Stamm handelt.
- Ein Wert zwischen 0 und 1 wäre die Verzweigungsebene A
- Ein Wert von 1 wäre die Verzweigungsebene B
Ich habe dies mit Autodesk Maya gemacht, mit einigen kleinen Skripten war ich in der Lage, alle LODs eines Assets in 10-15 Minuten einzurichten.
Darüber hinaus haben wir eine so genannte "Flattermaske" verwendet. Dabei handelt es sich um Texturmasken, mit deren Hilfe der Drehpunkt des Zweigs in der Geometrie bestimmt werden kann. Wir haben dies für die Zweige verwendet, die harte Alpha-Texturen für die Geometrie verwenden. Hier ist eine Illustration dieser Maske.

Mit all diesen Informationen konnte ich das C#-Skript verwenden, das meine Baumvorlage eingab und eine neue Vorgabe mit den Pivot-Informationen jedes Scheitelpunkts einbaute. Nachdem ich ein WindControl-Objekt zu meiner Szene hinzugefügt habe, kann ich meinen Baum in die Szene importieren und mit den Materialeigenschaften spielen.
Sie sehen, dass jede Hierarchieebene eine Bereichseigenschaft (im Grunde die Länge des Stammes oder der Äste) und eine Elastizitätseigenschaft hat.
Es gibt auch einige Eigenschaften, um Windflattern-Animationen einzurichten. Sie fügen ein wenig prozedurales Rauschen zu den Vertex-Positionen hinzu, um die Vibration der Äste zu imitieren, wenn der Wind sie anbläst.
Zu guter Letzt mussten wir dafür sorgen, dass der Windsound FX die Windanimation beeinflusst. Die Lautstärke des Tons bestimmt die Windstärke der Animation. Es ist wirklich überraschend, wie eine einfache Idee das Projekt bereichern kann. Wenn Sie es noch nicht getan haben, sollten Sie das Projekt öffnen und sich umsehen. Sie werden bemerken, dass die Bäume und das Gras in der Umgebung zittern, wenn Sie große Windböen in Ihrer Umgebung hören.
Wenn ich den Detailgrad und die Dichte eines Projekts wie Book of the Dead anstrebe, war es für mich wichtig, darüber nachzudenken, wie ich die Ebene strukturieren wollte, um später in der Produktion Leistungsprobleme zu vermeiden. Eines der Dinge, auf die ich geachtet habe, war die Begrenzung langer Sichtweiten in der Szene. Sie können dies tun, indem Sie "Korridore" und "Engpässe" in das Layout der Szene einbauen.

Diese Layouts, zusammen mit Assets, die korrekt als 'Occluder static' und 'Occludee static'-Flags eingerichtet sind, machen das Occlusion Culling von Unity effizienter.
Dieses Video zeigt die Occlusion Culling Visualisierung, und Sie können leicht erraten, wo die Kamera aus der Draufsicht hinschaut. Gegen Ende des Videos aktiviere/deaktiviere ich die Verdeckungsausblendung und sehe, welche Objekte durch die Verdeckungsausblendung ausgeblendet werden.
Sie werden auch sehen können, dass einige Objekte nicht ausgewählt werden. Das sind vor allem die wirklich hohen Bäume, einige über 25 Meter hoch, die eine sehr große Bounding Box haben und daher schwer hinter den Klippen auszuwählen sind.
Als der Trailer veröffentlicht wurde, sahen wir Kommentare, dass wir auf keinen Fall das alte Geländesystem verwenden werden. Aber das ist genau das, was wir verwenden, und wir haben den Layered Lit-Shader der HD Render Pipeline modifiziert, um ihn zu unterstützen.
Der HDRP Layered Shader ermöglicht das Überblenden von Ebenen unter Verwendung ihrer Heightmap-Textur, so dass das Ergebnis besser ist als die lineare Überblendung, die mit dem alten Terrain-Shader geliefert wird.

Dies ist natürlich nur eine vorübergehende Lösung, die nicht richtig in die Benutzeroberfläche integriert ist. Um das Terrain zu ändern, müssen Sie das darauf angewendete Material bearbeiten, anstatt die Schaltfläche "Textur bearbeiten" auf der Registerkarte "Textur malen" des Terrainobjekts zu verwenden.


Wenn Sie ein neues Terrain erstellen und andere Texturen darauf anwenden möchten, müssen Sie dieses TerrainLayeredLit-Material duplizieren und es dem neuen Terrain zuweisen. Außerdem müssen Sie diese 4 Textursätze auf der Registerkarte "Textur malen" erstellen. Die dort zugewiesenen Texturen werden nicht für das Rendern des Geländes verwendet, aber sie ermöglichen es Ihnen, die verschiedenen Ebenen auf Ihrem Gelände zu malen. Dort können Sie auch die Kacheleigenschaften der verschiedenen Ebenen ändern.
Um die LODGroup-Funktion in vollem Umfang nutzen zu können, werden alle im Gelände platzierten Elemente als Bäume und nicht als Detail-Elemente eingerichtet.

Aber eigentlich hat dieses Projekt eine wirklich große Menge an Assets, die auf dem Boden verstreut sind: Gras, Büsche, Pläne, Holzzweige, Felsen, usw. Mit all dem kann das Terrain ziemlich einfach sein, wie Sie unten sehen können, ist das Terrain in dieser speziellen Aufnahme nur ein einfaches Kachelmaterial.
Wenn Sie durch die Ebene gehen, werden Sie feststellen, dass an einigen Stellen sehr viele kleine Zweige und Tannenzapfen auf dem Boden verstreut sind.

Diese sind nicht wirklich so offensichtlich, wenn man einfach durch die Ebene läuft, aber sie bringen wirklich den Detailgrad der Szene, wenn man anfängt, den Boden zu betrachten. Manchmal liegen Hunderte von winzigen Zweigen auf dem Boden, zwischen Steinen und toten Baumstämmen, genau so, wie sie letztendlich liegen würden, wenn sie von Bäumen herunterfallen würden. Diese von Hand zu platzieren, wäre schlichtweg unmöglich. Aus diesem Grund hat Torbjorn Laedre ein Tool entwickelt, das uns hilft, diese kleinen Details im Level zu verteilen.
Die Zweige sind einfache ausgeschnittene Flächen mit einem Alphamaterial. Wir haben ihnen Physikkapsel-Collider hinzugefügt.

Das Skript wird zuerst die gewünschte Anzahl dieser Streuobjekte um eine Transformationsposition spawnen und dann die Physik simulieren, damit sie auf den Boden fallen und mit dem Terrain und allen anderen Objekten (Felsen, tote Baumstämme, etc.) kollidieren. Durch Drücken der Schaltfläche "Backen" werden sie dann von ihren Kollidern befreit, zu einem einzigen Objekt verschmolzen und einer LODGroup mit einem bestimmten Abstand zugeordnet, in dem sie gecullt werden sollen.
Dieses Skript wird von Objekten mit dem Namen 'UberTreeSpawner' in der Szene verwendet, und es steht Ihnen frei, es nach Belieben zu verwenden.
Nebenbemerkung zu diesem Tool: Damit die Zweige und andere verstreute Objekte richtig auf den Boden und andere Objekte fallen, benötigen Sie Mesh-Kollider mit hoher Dichte für alle Objekte in der Szene. Gleichzeitig wollen Sie nicht, dass diese schweren Kollider verwendet werden, während das Spiel läuft. Aus diesem Grund haben die meisten Assets in der Szene zwei verschiedene Kollider: Ein Licht, das in Echtzeit im Spielmodus vom PlayerController mit dem zugewiesenen Standard-Layer verwendet wird. Und eine, die ausschließlich für die Physiksimulation dieser Zweige verwendet wird, mit dem zugewiesenen Layer 'GroundScatter'.
Das Buch der Toten: Das Umweltprojekt verwendet gebackene indirekte globale Beleuchtung mit direkter Beleuchtung in Echtzeit.
Sowohl die indirekte Beleuchtung durch die Sonne als auch die direkte und indirekte Beleuchtung durch den Himmel werden in die Lichtkarten und Lichtsonden eingefügt. Reflexionssonden, Okklusionssonden und andere Quellen der Okklusion werden ebenfalls gebacken. Bei der direkten Sonneneinstrahlung handelt es sich hingegen um eine Echtzeitbeleuchtung. Das Shading in der HD Render Pipeline sieht am besten aus, wenn direktes Licht in Echtzeit verwendet wird, und es gibt uns auch eine gewisse Freiheit, die Rotation, Intensität und Farbtemperatur des gerichteten Lichts zur Laufzeit zu animieren.

Da die indirekte Beleuchtung gebacken wird, können wir die Intensität und Farbe des gerichteten Lichts nicht zu sehr verändern, da es sonst nicht mehr mit der gebackenen Beleuchtung übereinstimmt. Ein vollständiger Tag-/Nachtzyklus wäre bei diesem Aufbau nicht möglich, auch wenn ein Wald eine recht nachsichtige Umgebung ist, wenn es darum geht, unpassende indirekte Beleuchtung zu verdecken.
Gebackene Lightmaps werden hauptsächlich für das Terrain und einige andere Objekte verwendet, aber wir zogen es vor, eine Kombination aus Light Probes und Occlusion Probes für alle Felsen und Klippen im Projekt zu verwenden, da sie bessere Ergebnisse für Objekte mit scharfen Winkeln und scharfen Normal Maps liefern.
Die Beleuchtung eines dichten Waldes ist in Echtzeit nur schwer zu realisieren. Bäume mit all ihren Blättern und Ästen haben eine riesige Oberfläche und eine komplexe Geometrie, so dass es nicht praktikabel ist, sie mit Lightmaps abzudecken. Die Verwendung einer einzigen Lichtsonde pro Baum würde für eine gleichmäßige Beleuchtung von unten nach oben sorgen. Light Probe Proxy Volumes sind näher an dem, was wir uns wünschen würden, aber es ist nicht praktikabel, die Gitterauflösung zu erhöhen, um feine Details zu erfassen.
Aus diesem Grund hat unser Senior Graphics Programmer, Robert Cupisz, die Okklusionssonden entwickelt.
Aus der Sicht eines Künstlers ist es eine wirklich nette und einfach zu bedienende Funktion: Sie fügen das Objekt einfach der Szene hinzu, und es wird ein Volumengizmo angezeigt, das Sie skalieren müssen, damit es den gewünschten Bereich abdeckt, und dann seine Auflösungsparameter in X, Y und Z einstellen.

Sie können auch "Detail"-Okklusionssonden erstellen, wenn Sie möchten, dass ein bestimmter Bereich der Szene eine höhere Dichte an Sonden aufweist. Sobald die Szene eingerichtet ist, müssen Sie die Beleuchtung der gesamten Szene backen. Die Okklusionssonden werden während dieses Prozesses gebacken.
Jede Sonde im 3D-Gitter tastet die Sichtbarkeit des Himmels ab, indem sie Strahlen in die obere Hemisphäre schießt, und speichert sie als 8-Bit-Wert, der von vollständig verdeckt 0 bis vollständig sichtbar 1 reicht. Dies führt dazu, dass überall dort, wo eine höhere Konzentration von Blättern und Ästen vorhanden ist, dunklere Bereiche zu sehen sind - umso mehr, wenn mehrere Bäume zusammenstehen.
Sonden, die das Pech haben, in Baumstämmen oder Felsen zu landen, werden vollständig schwarz. Um zu verhindern, dass diese Dunkelheit nach außen dringt, werden sie als ungültig markiert und durch benachbarte gültige Sonden überschrieben.
Da die Sonden prüfen, wie viel vom Himmel sichtbar ist, sollten sie nur den direkten Himmelsbeitrag abschwächen. Aus diesem Grund wird der Lightmapper so eingerichtet, dass der Beitrag des direkten Lichts von regulären Lichtsonden ausgeschlossen wird, und die Beleuchtung der Sonden wird dann als Lichtsonde plus direkte Himmelssonde, die von Okklusionssonden verdeckt wird, zusammengesetzt.
Auf diese Weise können wir tonnenweise billige Okklusionssonden einsetzen, die kleine Details der Verdeckung des Himmels durch Laub abtasten und dem Bild Tiefe verleihen, und nur sehr wenige teurere Lichtsonden, die langsamer wechselndes indirektes Licht abtasten.

Wenn Sie sich ein genaueres Bild davon machen wollen, wie sie die Szene beeinflussen, können Sie auch die SkyOcclusion-Debug-Ansicht verwenden.

Die Okklusionssonden-API zum Backen von Okklusionssonden und zum Ausschluss des direkten Himmelsbeitrags von Lichtsonden wurde zu Unity 2018.1 hinzugefügt, und alle Skripte und Shader sind im Projekt verfügbar.
Wir haben die Atmospheric Scattering-Lösung, die wir ursprünglich für die Blacksmith-Demo entwickelt haben, portiert und wiederverwendet.
Unser Senior Programmer Lasse Jon Fuglsang Pedersen hat es erweitert, um zeitliches Supersampling zu nutzen, was zu einem viel glatteren Aussehen führt.

Der Standard-Lit-Shader der HD-Render-Pipeline unterstützt verschiedene Arten der Diffusion. Es ermöglicht Ihnen, Materialien mit sub-surface Streuung, oder - wie für alle unsere Vegetation in diesem Projekt verwendet - eine einfache durchscheinende Material mit nur Lichtdurchlässigkeit zu haben.

Dieser Effekt wird an zwei verschiedenen Stellen eingesetzt:
- Beim Material müssen Sie den Materialtyp "Transluzent" wählen, eine Dickenkarte eingeben und ein Diffusionsprofil wählen, das die zweite Stelle ist:
- Die Einstellungen des Diffusionsprofils, wo Sie alle anderen Parameter Ihres Übertragungseffekts bearbeiten können

Anmerkung: Unser Team hat zusätzliche Schieberegler hinzugefügt, mit denen die direkte und die indirekte Übertragung getrennt gesteuert werden können, um mehr Kontrolle über das Endergebnis zu haben. Diese Änderung entspricht jedoch nicht den PBR-Regeln und wird daher nicht in die HD Render Pipeline aufgenommen.
Die Area Volumes bauen auf dem von SRP angebotenen Core Volume System auf und sind den Post Process Volumes sehr ähnlich. Ihre Funktion besteht darin, die Objekteigenschaften in Abhängigkeit von der Position des Hauptkameraobjekts zu steuern.
Die Eigenschaften mehrerer Objekte, wie z. B. des gerichteten Lichts, der atmosphärischen Streuung, des Autofokus und des Windreglers, werden von Bereichsvolumina gesteuert. Wenn Sie also z. B. die aktuelle Beleuchtungseinstellung ändern möchten, müssen Sie dies im entsprechenden Bereichsvolumen tun. Diese Area Volumes Objekte befinden sich in der Hauptszene unter _SceneSettings > _AREASETTINGS und haben das Suffix '_AV'.
Für diejenigen, die die HD Render Pipeline noch nicht oft benutzt haben, gibt es jetzt ein spezielles SRP-Debug-Fenster, das Sie über das Menü Fenster > Allgemein > Render Pipeline Debug öffnen können


Damit können Sie einzelne GBuffer-Ebenen, Beleuchtungskomponenten oder bestimmte Textur-Maps aus Ihren Materialien sehen oder sogar Albedo/Glätte/Normalität überschreiben. Es ist ein wirklich nützliches Werkzeug, wenn Sie einige Objekte haben, die nicht richtig gerendert werden oder andere visuelle Fehler. So können Sie die Ursache des Problems viel schneller finden.
Das Beste daran ist, dass diese Debug-Ansichten automatisch aus Ihren Shadern generiert werden, und Programmierer können ganz einfach neue Debug-Ansichten erstellen.

Ich habe diese Debug-Ansichten sogar verwendet, um die Baum-Billboards zu erstellen, die im Hintergrund der Szene verwendet werden. Ich habe meine Assets einfach auf eine leere Szene gelegt und Screenshots gemacht, auf denen die Albedo-, Rauheits- und Normal-Gbuffer-Ebenen zu sehen waren, und diese zur Erstellung meiner Texturkarten verwendet.
Während ein großer Teil der Optimierung auf der Seite des Codes liegt, ist es auch wichtig, dass Ihre Assets und Szenen richtig eingestellt sind, wenn Sie eine anständige Framerate haben wollen. Hier sind einige der Möglichkeiten, wie der Inhalt für dieses Projekt optimiert wurde:
- Alle unsere Materialien verwenden GPU Instancing.
- Wir verwenden LODs für die meisten Objekte in dieser Szene, dies ist ein Muss.
- Die LOD-Crossfade-Funktion ist großartig, sie ermöglicht eine schöne und weiche Überblendung zwischen den verschiedenen Level of Details des Objekts. Aber diese Funktion ist ziemlich schwerfällig und kann die Anzahl der Zeichnungsaufrufe in Ihrem Projekt wirklich erhöhen. Aus diesem Grund haben wir sie bei so vielen Anlagen wie möglich deaktiviert.
- Um spürbare Übergänge zwischen den LODs zu vermeiden, haben wir bei vielen unserer großen Felsen und Klippen begonnen, Normal Maps aus dem Objektraum zu verwenden.


Anmerkung: Die Verwendung einer Objektraum-Normalkarte anstelle einer Tangentenraum-Normalkarte verringert die Genauigkeit der Normalkarte. Bei unseren Assets, die sehr rau und laut sind, fällt das nicht auf, aber bei Assets mit harter Oberfläche sollten Sie es wahrscheinlich nicht verwenden.
- Es ist zwar wichtig, die Sichtdistanz durch die Art und Weise zu begrenzen, wie die Szene aufgebaut ist, und durch die Verwendung von Occlusion Culling, aber es ist auch wichtig zu wissen, dass viele der Zeichnungsaufrufe, die zum Rendern Ihrer Szene verwendet werden, tatsächlich vom Rendern jeder Kaskade Ihrer Schattenkarten kommen (genauer gesagt vom gerichteten Licht in unserem Projekt).
- Wir hatten viele Lockrufe, die von den kleinen, über das Gelände verstreuten Vegetationsbeständen ausgingen, an manchen Stellen Hunderte von ihnen. Durch die Schaffung größerer Gras- und Pflanzenflächen konnten wir die Zahl der Abrufe deutlich reduzieren. Anstelle von Hunderten von ihnen würden wir dann nur noch 15-20 haben.
Beachten Sie, dass sich dies auf die visuelle Qualität auswirkt. Bei so großen Objekten lässt es sich nur schwer vermeiden, dass das Gras mit Felsen und anderen Objekten auf dem Boden kollidiert. - Wir verwenden Layer Culling, das ist eine Funktion, die bereits in Unity vorhanden ist, aber keine UI hat. Mit dieser Funktion können Sie Objekte, die einer bestimmten Ebene zugeordnet sind, je nach Abstand zur Kamera ausblenden. Torbjørn hat diese Funktion erweitert, so dass nun auch der Schattenwurf von Objekten in einem anderen Abstand entfernt werden kann. Zum Beispiel hören die meisten unserer kleinen Vegetations-Assets bei einer Entfernung von etwa 15 Metern auf, Schatten zu werfen, was angesichts des Rauschens von Gras und anderen Pflanzen auf dem Boden nicht sehr auffällig ist, und dann werden sie bei etwa 25 Metern komplett ausgemerzt - egal wie ihre LODGroup eingestellt ist.
---
Bleiben Sie dran für den nächsten Blogbeitrag in dieser Reihe. Wir werden die Arbeit erforschen, die in die Erstellung der Schattierung, Beleuchtung, Nachbearbeitung und mehr aus dem Buch der Toten eingeflossen ist.
Wenn Sie es nicht zur Unite Berlin geschafft haben, werden wir in Kürze die Präsentation von Julien Heijmans über Environment Art in der Demo veröffentlichen. Sie können unserem YouTube-Kanal folgen, um auf dem Laufenden zu bleiben, wenn das Video veröffentlicht wird.