In dieser kleinen Grafiksetting-Reihe möchte ich immer unterschiedliche Grafiksettings im Landwirtschafts Simulator 22 vorstellen und euch visuell den Unterschied darstellen. Wenn du also wissen möchtest was das Grafiksetting SSAO im LS22 genau macht, bist du hier richtig.

Ich hatte ja in ersten Screenshots und Videos des Landwirtschafts Simulator 22 befürchtet, dass es kein Ambient Occlusion, oder auch Umgebungsverdeckung gibt.

Ohne viel in die unterschiedlichen grafischen Tricks der Spieleindustrie oder Real-Time Techniken einzugehen, versuche ich mal den Effekt der Umgebungsverdeckung zu erklären. Beziehungsweise, vielleicht muss ich noch ein bisschen mehr ausholen um auch noch Schatteneffekte in Spielen zu erklären.

Schatten im Allgemeinen

Hier jetzt eine kleine Erklärung wie Schatten in Spielen "gemacht" werden. Hier fehlt ein bisschen was und dies soll dem interessierten Leser nur einen groben Überblick geben.

Schatten wird in Spielen normalerweise dargestellt, indem nochmal aus der Perspektive der Lichtquelle ein Bild gerendert wird. Dieses gerenderte Bild schaut aber ganz anders aus, als euer fertig gerendertes Bild auf eurem Bildschirm. Hier wird nur der sogenannte Z-Buffer benutzt. In diesem sind die Tiefeninformationen des Bildes hinterlegt, somit erkennt man zum Beispiel ob ein Objekt von einem anderen verdeckt wird. https://de.wikipedia.org/wiki/Z-Buffer

Aus diesen Informationen lässt sich jetzt für jeden Pixel berechnen, ob dieser von der Lichtquelle "gesehen" wird oder nicht. Wird er nicht gesehen wird der Pixel einfach in der Intensität abgeschwächt.

So wird grob Schatten in Spielen gemacht. Jetzt gibt es hier viele Probleme die mit dieser Real-Time-Graphic Methode auftreten. Zum Beispiel die Qualität der Schatten. Schauen diese Pixelig aus, liegt das meistens an der größe der Textur in die der Z-Buffer geschrieben worden ist und welche dann auch später für die Schattenberechnung benutzt worden ist. Hier gibt es jetzt wieder einige Tricks wie die Kanten besser aussehen können und so weiter. Ihr merkt schon Real-Time-Graphic ist relativ

Um auch entferntere Schatten gut darzustellen gibt es "Cascaded Shadow Maps". Wer mehr in die Materie einsteigen will dem sei ein guter Artikel von Microsoft angeraten: https://docs.microsoft.com/de-de/windows/win32/dxtecharts/cascaded-shadow-maps

Im Prinzip macht man diese Schattentexturen aus der Sicht der Kamera für unterschiedliche Entfernungen. Nahe Schatten betrachtet man im Detail normalerweise stärker und diese fallen einem auch stärker auf. Entferntere Schatten müssen zum Beispiel nicht in dieser guten Qualität gerendert werden.

Für dynamische Lichtquellen gilt daher: Schattendarstellung und Rendering ist ein relativ intensives Grafikfeature. Aber wer will schon ohne Schatten spielen?

Performance Verbesserungen

Wer an der Performance ein bisschen sparen will, kann entfernte Schatten reduzieren, wie auch die Schattenqualität ein bisschen runter drehen. Man muss dann aber mit kantigen blockigen Schatten rechnen.

Ambient Occlusion - Umgebungsverdeckung

Am einfachsten ist die Umgebungsverdeckung mit indirektem Licht zu erklären. Wenn wir also keine direkten Schatten haben, gibt es ja trotzdem Schatten. In Ecken und Kanten ist es zum Beispiel immer ein bisschen dunkler. Legt man ein Blatt Papier oder einen Gegenstand auf den Schreibtisch, hat dieser Gegenstand auch einen kleinen Kontaktschatten zum Schreibtisch. Wir haben irgendwie gelernt, wenn dieser kleine aber feine Schatten da ist, dann liegt dieser Gegenstand zum Beispiel auf dem Schreibtisch auf. Würde der Gegenstand über dem Schreibtisch schweben, dann gäbe es diesen Schatten nicht.

Das gute ist, hier auf meinem Schreibtisch steht meine Weihnachtskaffeetasse. (Habt ihr übrigens die Tassen gesehen, welche von GIANTs zu Weihnachten verlost werden? Richtig cool, hätte ich auch gerne so eine Tasse...)

Schatten und "Kontaktschatten"

Blaue Pfeile: normaler Schatten.

Kontaktschatten (rote Pfeile) Dieser Schatten ist meistens in Ecken, Ritzen oder eben hier an solchen Kontaktstellen zu sehen. Für diese Berechnung dieser Kontaktschatten verwendet man (oft) in Computerspielen SSAO.

Dieser Grafikeffekt ist relativ günstig zu haben, braucht also kaum Performance, verbessert aber meiner Meinung sehr sehr stark das grafische Gesamtkonzept.

Ich habe jetzt ein paar Screenshots im Landwirtschafts Simulator 22 gemacht in dem ich SSAO aktivert habe und deaktiviert habe. Ihr seht somit sofort den Unterschied.

SSAO ON/OFF - Vergleich im LS22

Die obige Klimaanlage oder Lüftung war einfach das ideale Beispiel für den SSAO Effekt. Ihr könnt den Effekt stärker oder schwächer machen.

SSAO ON/OFF - Hier sieht man auch gut die Kontaktschatten.
Auch hier an den Kisten erkennt man den Effekt stark. Ist SSAO ganz aus, erkennt man zum Beispiel fast gar nicht, dass an der Wand ein kleiner Vorsprung ist.

Ich hoffe ihr wisst jetzt unegfähr, was Screen-Space-Ambient-Occlusion ist und was das Grafikfeature euch bietet. Falls ihr noch Fragen habt, gerne in die Kommentare unten :)