Apocalypse schrieb:
Stimmt, das macht sich ja auch bei Minecraft viel besser
RT(X) in Minecraft ist ne andere Sache, ich weis das war deiner seits ein Scherz. Dort verschlechtert aber RTX auch nicht wirklich die Leistung. Das ist Kinderspielkrams. Die paar Fackeln, bissle Feuer und die Sonne/Mond am Firmament in RT(X) umzusetzen ist easy.
RT(X) in SC oder im Nachhinein in ein Shadow of the Tombraider (hat 7 Monate gedauert) zu implementieren, ist der blanke Horror. Ich gehe mal davon aus, das die meisten nicht wissen was RT für eine Spielwelt bedeutet und was man aktuell dafür machen muss.
Mal ein kurzer Exkurs:
Normalerweise werden zusätzlich zu den vorhanden Lichtquellen (!) noch logische Lichter gesetzt. Also, da gibt es Fackeln in einer dunklen Halle, aber zusätzlich wird das ganze Drum-Herum noch etwas
künstlich beleuchtet. Dazu platziert man unsichtbare Lichtquellen in der Szene. Diese lösen bei eurem Char oder den Objekten drum herum, aber wiederum
keinen Schatten aus. Die sind nur dazu da, um gewisse Spots/Räume etwas atmosphärisch aufzuhellen. Muss man für jedes Licht explizit einstellen. Immenser Aufwand.
Nun kommt RT(X) daher und benötigt diese filigran händisch gesetzten Lichtquellen nicht mehr. Super! Weniger Arbeit für die Entwickler, wie Nvidia zu Release einstmals sagte! Toll!
Das Problem ist jetzt aber, das jemand ohne eine Nvidia RTX Karte ja auch das Spiel zocken möchte. Damit müssen die logischen Lichter mit jeweils Abhängigkeiten von Schattengenerierung ja oder nein aber dennoch gesetzt werden. Nur zusätzlich muss sich die gleiche Szene auch bei RTX on angeschaut werden, und das wiederum angepasst werden.
An diesem Video können wir sehr schön sehen, wie man in RTX OFF & ON "
failed":
Achten wir nun genau auf Minute 01:24, fällt uns auf das OHNE RT das ganze (halbwegs) Korrekt aussieht. Mit RT ist es aber viel zu dunkel. Das liegt daran, das OHNE RT da in dem Container extra ein (oder viele) logisches (nicht sichtbares und nicht schatten werfendes) Licht platziert wurde. Mit RT wird's allerdings schwierig. Liegt da eine Leiche am Boden, welche wir untersuchen müssten, sehen wir die vielleicht gar nicht, weil das alles viel zu dunkel ist. Oh ...
RT on oder RT Off kennt aber jeder von euch seit Jahrzehnten.
Den in guten Filmen benutzt man nicht nur einfach das Tages-/Mond-/Umgebungs-Licht, sondern man verwendet "
Softboxen" und Co am Filmset.
Davon ist die Rede:
https://i.imgur.com/a668TPZ.png
Also, was denn nun? Wenn sie selbst im Film kein echtes Raytracing verwenden, wie geht es dann richtig richtig gut? Na, durch die Anwendung von beidem. Schauen wir uns das Bild nochmal an: Oben die Scheinwerfer sollen den Mond darstellen, soweit ok. Dennoch leuchten wir mit einem Reflektor (oder einem logischen Licht) den Charakteren nochmal ins Gesicht, um deren Mimik besser erkennen zu können.
Nun stellen wir uns das in einem Spiel vor:
Wir haben nun überall in der Welt als 3D-Designer diverse Lichter platziert. Das kann eine Taschenlampe, eine Fackel an der Wand, eine Lampe an der Decke, ein Lagerfeuer, die Scheinwerfer eines Fahrzeugs oder sonstwas sein. Zusätzlich haben wir noch logische Lichter platziert, um die Szene etwas aufzuhellen und um vielleicht gewisse Bereiche hervorzuheben oder zu betonen.
Ist euch schon mal aufgefallen das in "
Hollywood Filmen" immer die Deckenbeleuchtung in der Fahrgastzelle eines PKWs an ist, oder zumindest
von außen irgendwie unrealistisch herein geleuchtet wird? Aber in Spielen das Licht in der Fahrgastzelle gar nicht an ist, nicht hereingeleuchtet wird, und man kann
trotzdem alles erkennen?
Nehmen wir nun die logischen Lichter einfach mal alle weg, und schalten bei den vorhanden Lichtquellen einfach das super geile neue RT(X) ein, wird die Szenerie realistischer. Aber, Badumms, viel zu dunkel oder gar zu hell.
Jetzt nehmen wir ein Star Citizen ohne RT(X). Hier wird also noch mit gutem alten Handwerk gebaut. Nun wollen wir das RT(X) kompatibel machen. Jetzt kommt mein "Entwickler" an und meint,
das sei ein riesiger Zeitfresser! Somit entscheidet zB Chris Roberts "
Dafür haben wir keine Zeit!".
Somit wird die Welt, die Planeten und Städte, Raumschiffe und alle Räumlichkeiten einfach wie gehabt (mit logischen Lichtern) weitergebaut. Es entsteht also immer mehr und mehr Content, den es später zu korrigieren gilt.
Wir haben also die Möglichkeit zu entscheiden:
- Wir machen jetzt alles was wir haben RT(X) Konform, und alles zukünftige gleich bei Erstellung ebenso!
- Wir scheißen drauf, stellen alles fertig und bearbeiten jede einzelne "Szene" erneut für RT(X) im Nachhinein.
Ihr könnt euch sicherlich vorstellen, was das für einen immensen Zeitaufwand kostet, jedes neue Raumschiff, Stadt, Planeten, dies & das -> direkt RT(X) konform zu machen - ODER im Nachhinein alles erneut aufzumachen & überarbeiten zu müssen. Deswegen machst du jetzt immer 1.), du willst ja die Dinge gleich fertig stellen.
So jetzt Achtung:
Deswegen ist das für die Entwickler der neuen Konsolen recht einfach. Die dürfen einfach nur noch mit RT arbeiten, weil die Konsolen das hardware mäßig mitbringen. Jetzt wird es einfacher, und in sofern wirklich mal so einfach wie Nvidia es einstmals versprochen hatte.
Nun wurde ich als Naiv und sonstwas "
beschimpft", weil ich die UE5 Demo als Vergleich zu Next-Gen Grafik heran gezogen habe ...
Schauen wir uns nochmal an was die kann (ohne Backing):
Jetzt schauen wir uns an, wie Global Illumination in der UE 4.22 Engine mit einer RTX 2070 + i7 6 Core gelaufen ist (ohne Backing):
Und zusammengefasst sieht es so aus:
Ich kann auch nochmal ganz Konkret werden: Roberts sollte sich
das anschauen, und danach
das.
Grafik geht noch, oder?
Im direkten Vergleich wird's schon schwierig. Jetzt kannste nur noch darauf hoffen, das die Tiefe, die wirkliche Größe der Welt, die Möglichkeiten darin, die Story & das Genre einfach so gut ist, das es ein Horizon Forbidden West (oder andere Next Gen Games) in die Tasche steckt. Und das bei guten FPS. Ansonsten wird es langsam "
sportlich" ...
Oh ...