Da fehlen die Schatten für das direkte Licht, nicht die indirekte Verschattung respektive AO/GI. Die Lichter/Lampen werfen keine Schatten. Die indirekte Ausleuchtung/Verschattung ist da (z.B. zwischen den Stämmen der Blockhütte). Die Schatten von dem Kronleuchter, den Fackeln etc. fehlen. Nur die Sonne wirft direkte Schatten. Das könnte man in der UE5 einfach mit einem kleinen Häkchen an der jeweiligen Lichtquelle beheben, aber das wäre Performance-mäßig viel zu teuer. In drei, vier, fünf GPU- oder Konsolen-Generationen vielleicht.
Das ist ein generelles Problem bei Spielegrafik. Fast immer gibt es nur eine, oder wenn mehrere, sehr, sehr, sehr, sehr eingeschränkt Lichtquellen, die Schatten werfen. Sparmaßnahme. Das ist immer noch viel, viel zu teuer für die Hardware. Man bräuchte quasi volles Pathtracing, damit das halbwegs funktioniert und selbst da ist aktuell oft nur die Sonne voll eingebunden (sonst müsste man zu jeder einzelnen Lichtquelle Rays schicken, nicht nur zu einer, wie aktuell in fast jedem Fall. Jede einzelne Lichtquelle würde nahezu nochmals die gleichen Berechnungen erfordern, die die Bildraten durch Pathtracing schon um drei Viertel, oder so, einbrechen lassen). Achte mal in anderen Spielen drauf, das ist nahezu überall so.
Ark hat z.B. mehrere Schatten werfende Lichtquellen. Da werfen auch die Fackeln etc. Schatten. Und nicht nur die Sonne/der Mond, wie in nahezu allen und sämtlichen auch aktuellen Spielen. Aber das ist auch dreimal so anspruchsvoll.
Gruß,
Phil
Ich kann euch aber ein spezifisches Problem mit indirekter Beleuchtung zeigen. Das ist relativ generell und fast überall anzutreffen. Ich muss euch allerdings ein bisschen warnen, das ist schwierig, zu "entsehen", wenn man es einmal gesehen hat. Da geht dann ein bisschen die Illusion kaputt, ein wenig so wie mit Screen-Space-Reflections, wenn man einmal weiß, wie man deren Illusion kaputt macht.
Hier in der Szene kann man es gut sehen:
Da ist kein direktes Licht im ersten Raum zu sehen (da ist eine, noch ein Schild weiter rechts, aber die hab ich mal aus dem Bild genommen). Im hinteren ist eins, da ist eine Light Emitting Texture und obendrein eine Schatten werfende "Fake"-Lichtquelle (sieht aus wie ein reguläres, rundes
Point Light) Ihr könnt am Feuerlöscher sehen, wie es einen Schatten wirft. Da seht ihr allerdings auch gleich das Probem. Seht ihr den Unterschied?
Das glänzt. Das hat Specular. Nichts in dem Raum ohne die Lichtquelle glänzt. Da ist kein einziges High-Light.
(Disclaimer: das habe ich zwecks Vereinfachung etwas simplifiziert: richtiger wäre fast, nahezu).
Und die andere Lichtquelle "reicht" nicht so weit, obwohl das völlig unrealistisch ist (das "echte" Licht verschwindet nicht einfach, wie das Licht der Point-Light-Lichtquelle in der Unreal Engine da, wo es einen Cut-off hat. In der Realität es wird nur gestreut - oder hier und da von Staubpartikeln absorbiert, aber dann sind wir wieder beim Energieerhalungsgesetz, und ganz so weit müssen wir es hier nicht treiben, obwohl Raytracing immerhin zum Teil ebendas ist, nur in deutlich sparsamerer, abgespeckter und reduzierter Form - das ist so simpel, das kann nur maximal bis 2 oder 3 zählen. Die Anzahl Bounces beim RT. Und es versteht dabei außerdem überhaupt nicht, was Wärme ist oder wie sie entsteht; ein nicht ganz unbeträchtlicher Teil des Energieerhaltungsgesetzes. Streng genommen ist es pretty stupid. Das geht allerdings auch kaum ohne Simplifizierung, weil Berechnungen sonst ziemlich schnell ins nahezu Unendliche laufen würden. Zack, Instant-Zero-Fps, sofortiger Speicherüberlauf).
PBRs brauchen direktes Licht, um wirklich vollumfänglich zu funktionieren. Specular ist eine der Eigenschaften, die in indirektem Licht nicht so recht funktionieren. Neben echten Schatten (die es in "echt" auch in Situationen gibt, wo kein direktes Licht hinfällt, die AO, egal ob Raytracing oder nicht, ist nur eine Möchtegern-Sparlösung für Arme). Deswegen sieht es bei indirektem Licht fast immer "stumpf" und "flach" aus...
Das ist jetzt nicht die vollumfängliche Weißheit oder Wahrheit, es gibt ein paar Unterschiede/Ansätze etc. wie das behoben/umgangen/übertrickst werden kann. Hier in der UE5.3.2 und Nightingale kann man z.B. erkennen, dass zumindest ein bisschen Glanz auch mit der indirekten Beleuchtung respektive Lumen funktioniert. Der "nasse" Schein auf den Pflanzen/Baumstamm - Reflexionen gehen ein bisschen. Aber das ist nicht haargenau das gleiche wie Speculars/Highlights.... Ist trotzdem noch sichtbar abgespecktes Beleuchtungsmodell respektive vereinfachte Physik.
Nur indirekte Beleuchtung ist öde. Das sieht fast immer lame aus. Deswegen will man im Grunde auch immer eine direkte Lichtquelle mit in der Szene haben. Mit Schatten. Dann sieht es viel interessanter aus. So:
Das ist sogar mit Raytracing noch ein tendenzielles Problem. Die Shader verfolgen den Lichtstrahl zur Lichtquelle, dann berechnen sie irgendwas (je nach Art des RT-Effekts oder aber auch Material-Shaders). Wenn die Lichtquelle aber verdeckt ist, sagen die Shader tendenziell "ja gut, dann berechne ich halt auch nix, Pech gehabt, tschö." (Disclaimer: Auch hier ist das nur die tendenzielle, anteilige und deutlich simplifizierte Wahrheit, es ist ein bisschen komplizierter...)
Und jetzt hab ich euch die Grafik kaputtgemacht, weil ihr das in fast jedem Spiel genauso sehen könnt - Sorry^^.
Schönes Wochenende
Phil