Ray tracing

  • Momentan hat das leider eine eher geringe Priorität, weil einerseits der Nutzen einigermaßen überschaubar ist, andererseits es ohnehin nur ein bestimmter Teil der Nutzer wirklich verwenden kann. Bis vor kurzem war ein weiteres Problem, dass DirectX 12 (welches dafür nötig ist) in Unity wirklich grottenschlecht umgesetzt war. Auch ohne Raytracing sorgte DirectX 12 in Unity im Vergleich zu DirectX 11 für einen fast 50%igen Performanceverlust.


    Unity hat letztes Jahr aber den DirectX 12 Support verbessert und proklamiert, dass man die Performance nun fast so gut wie in DirectX 11 sein könnte. Leider ist der VRAM Verbrauch deutlich höher und manche Entwickler melden weiterhin spürbar schlechtere Performance im Vgl. zu DirectX 11. Und wie gesagt, wir reden hier noch bei einem 1:1 Vergleich von DX11 und DX12 (ohne Raytracing usw).


    Wenn die Unity-DirectX12-Problematik abgehakt ist, ist schon wieder greifbarer, dass wir Raytracing anbieten. Nichtsdestotrotz wird sowas nicht vor dem Storepage-Update passieren können...

  • Wenn die Unity-DirectX12-Problematik abgehakt ist, ist schon wieder greifbarer, dass wir Raytracing anbieten. Nichtsdestotrotz wird sowas nicht vor dem Storepage-Update passieren können...

    Ja<3Bitte bleibe bei den Sachen die auch Funktionieren<3
    Alles andere ist Selbstmord:dizzy:


    :thumbup::thumbup::thumbup:
    Gute Entscheidung:love:

  • Wofür ist das Ray Tracing denn gut ?

    Geschwindigkeit und Performanc, wenn's klappt:D

    Im Spiel selber werden damit entfernungsmessungen gemacht, damit könnte mann in der Entfernung die Sicht Verschwimmen lassen.
    Das macht meist ein Sogenanter Post-Process, ich glaube das kann bei Moderner Harware an die Graka abgegeben werden, die RayTract dann den Post-Process und gibt das zurück damit die Graka das Bild Fertig machen kann und Ausgibt.
    Ganz grob gesagt, aber ich denke das Trift es.

  • Wofür ist das Ray Tracing denn gut ?

    Der in meinen Augen einzige wirkliche Vorteil von Raytracing ist die Möglichkeit, "Global Illumination" umzusetzen, sprich indirektes Licht. Derzeit ist es so, dass Lichtquellen im Spiel Oberflächen nur direkt anstrahlen können. Der Lichtstrahl wird nicht weiter reflektiert. Theoretisch wären dadurch alle Flächen, die nicht direkt angestrahlt werden, pechschwarz - da sowas aber äußerst bescheiden aussieht, verwendet das Spiel eine Art "Fake" indirektes Licht. Nachteil ist nur, dass dadurch sämtliche Flächen eine Mindesthelligkeit aufweisen - dadurch ist auch ein Raum, der komplett geschlossen ist und kein Fenster hat, nicht komplett dunkel, sondern auch dort gibt es diese Mindesthelligkeit.


    Mit Raytracing könnten wir auf das Fake-Licht verzichten und dafür sorgen, dass Lichtstrahlen einigermaßen realistisch von Oberflächen abprallen. Dadurch könnte man wirklich dunkle Räume erzieF"len, aber auch kleinere Details würden zur Geltung kommen (zB würden Leuchtblöcke automatisch die Umgebung ausleuchten).


    Nachteil ist, dass spezielle Hardware für Raytracing nötig ist. Und Raytracing ist trotzdem ein recht teurer Effekt, d.h. man wird dafür Performance opfern müssen (umso wichtiger, dass wir gleichzeitig DLSS und FSR anbieten). Andere Engines bieten auch "Global Illumination" an, die nicht auf Raytracing basieren (prominent ist zB "Lumen" in Unreal), doch der Weg bleibt uns leider versperrt: Unity hat auch an sowas gearbeitet, es aber nach einigen Jahren aufgegeben, sodass es bis heute keine adäquate Lösung in Unity dafür gibt.


    Es können auch andere Effekte mit Raytracing erzielt werden, zB bessere Schatten. Auch schönere Reflektionen bzw. Spiegelungen sind möglich: Derzeit sind Spiegelungen in RW so, dass nur das gespiegelt werden kann, was auf dem Bildschirm sichtbar ist. Mit Raytracing wäre es möglich, dass auch Dinge in Spiegelungen auftauchen können, die nicht auf dem Bildschirm sichtbar sind. Ist meiner Meinung nach aber kein so gravierender Effekt. Wie gesagt, in meinen Augen ist "Global Illumination" der einzige Effekt, wo man einen wirklich großen Unterschied feststellen wird, der sich auch spielerisch auswirkt ;)

  • Example of same scene without and with screen-space rays:



    It actually cost a lot of FPS without too much benefits. It is sad that Unity still didn't implement any GI system, many other engines (even Godot) have different realtime GI solutions.


    A long time ago there was a suggestion about voxel-based GI SEGI, but it was not compatible with HDRP and M1. Now someone made a similar solution for modern Unity and HDRP - Lumina, probably it can be used as alternative to SEGI?

  • A long time ago there was a suggestion about voxel-based GI SEGI, but it was not compatible with HDRP and M1. Now someone made a similar solution for modern Unity and HDRP - Lumina, probably it can be used as alternative to SEGI?

    It looks promising, but unfortunately the asset has a few limitations... it only works with DirectX 12 (according to the author, this is due to a Unity bug, although it seems to be a limitation by design instead), which introduces a few issues (as mentioned above in my 1st response)... I must admit I'm also a bit reluctant to rely on the asset store for this...


    However, I'll definitely keep a close eye on this. Maybe we will give it a try after the store page update ^^

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!