Schatten render distance zu kurz aber mir fällt nix mehr ein

  • Nabend,
    ich habe ein Problem mit meinen Schatten und ich bekomme es einfach nicht hin es zu lösen.
    Wie ihr auf dem Bild sehen könnt wird der eine Schatten nur auf eine recht kurze Distanz gerendert, die Schatten von größeren Objekten werden alle so gerendert wie sie sollen.
    r.Shadow.RadiusThreshold 0.001 kann ich nicht mehr weiter herunter stellen und sonst fällt mir nix mehr ein was ich noch tun könnte.
    Hab auch mal zwei Bilder von meinen Light Einstellungen geschickt.


    Ps: Um die Performance muss ich mir zur Zeit keine Sorgen machen und das lighting ist komplett dynamisch.

  • Erstmal... hast du im Editor die Preview-Settings auf High oder Epic? Wenn nicht, können die Schatten dadurch sehr schlecht aussehen.


    Ansonsten: Hast du das mal gesehen?

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Allerdings werden hier Mesh-Distance-Fields benutzt, aber die Ergebnisse sehen bei den Bäumen sehr gut aus.


    Ich denke mal mit den Licht-Einstellungen (Shadow resolution scale, max draw distance, ect) hast du schon rumgespielt, und es hat nichts gebracht.
    Handelt es sich bei der Stromleitung um ein StaticMesh? Oder ist es vielleicht ein CableComponent? Das könnte den Schatten eventuell auch erklären.

  • Ok, wenn ich r.ShadowQuality auf 2 setze sieht man den Schatten von dem Kabel. Das Problem ist nur, dass jetzt die Schatten nicht mehr smooth sind sondern eckig :(
    Vllt verschwinden sie durchs "smoothen" und es gibt noch eine andere Möglichkeit Schatten smooth zu bekommen?
    Mit mesh distance field shadows kam ich leider garnicht klar.

  • Also wenn ich die max csm resolution erhöhe werden sie Schatten auch feiner, allerdings wird wird dadurch auch die shadow render distance veringert :(
    Wenn ich dann die shadow distance wieder erhöhe wird wieder die Auflösung verringert.
    Das Ergebnis bleibt also im Verhältnis immer gleich.
    Kann doch nicht sein, dass ich nicht Schatten in meine gewünschten Auflösung bekomme oder?


    EDIT: Hab auch im englischen forum gefragt aber da hilft mir auch keiner mehr und distance raytraced shadows möchte ich nicht verwenden wenn es geht da die bei mir irgendwie nicht so gut aussehen und des öfteren Probleme machen.

  • Nunja, das Problem ist, dass der Schatten eines Dynamic Light mit Shadowmaps berechnet wird, von der Position des Lichts aus.


    Das bedeutet, dass quasi von der Licht Position eine Shadowmap generiert wird. Es wird quasi eine Camera-Perspektive mit Depth gerendert, in der festgehalten wird, auf welche Pixel später Schatten fällt. Das bedeutet, je weiter weg ein Objekt von einer Lichtquelle ist, desto undetaillierter wird der Schatten. Wenn z.B. eine dünne Stange weniger als einen Pixel aus Sicht des Lichtes breit ist, wirft sie dann garkeinen Schatten. Und das ist dein Problem.


    [Blockierte Grafik: https://msdn.microsoft.com/dynimg/IC613283.png]
    (Bild: shadowmaps)


    Das heißt, die Schattenqualität ist erstmal abhängig von der Shadowmap Resolution (r.Shadow.MaxResolution=1024) Ich Weiß nicht, wie weit man die aufdrehen kann.


    Wenn du cascaded shadow maps benutzt, ist das eigentlich nur ein Verfahren, um bei gleicher Shadowmap Resolution bessere Ergebnisse zu erzielen, weil Pixel, die weiter vom Licht entfernt sind, weniger Shadowmap Resolution bekommen.


    [Blockierte Grafik: https://msdn.microsoft.com/dynimg/IC613284.png]
    (Bild: csm)




    Du kannst versuchen, den Distribution Exponent zu verändern, um dieses Raster zu verschieben, und andere Sachen zu verändern. Vielleicht schaffst du es dann, einen schöneren Schatten zu erzeugen, ohne deine Szene kaputtzumachen.





    Ansonsten zu Distance Field Shadows:


    https://docs.unrealengine.com/…adows/MeshDistanceFields/
    http://timhobsonue4.snappages.…stance-field-soft-shadows


    https://docs.unrealengine.com/…edDistanceFieldShadowing/



    MFG: Tank

  • Erstmal vielen Danke für deine Antwort!
    Also kann ich die Auflösung nicht einfach so hoch stellen bis es passt?
    Ich meine die performance hab ich ja und ich verstehe noch nicht wieso ich die Auflösung nicht
    einfach so hoch stellen kann wie ich will (dass dabei die performance in den Keller gehen würde ist mir klar).
    Naja, dann werde ich wohl die Mesh Distance Field Shadows verwenden müssen womit wieder neue Probleme kommen :(