Flackernde 3D-Widgets VR-Template

  • Hallo zusammen,


    ich bin neu in Unreal Engine 5 (Version 5.3.2) und habe ein Problem mit 3D-Widgets in der VR-Vorlage. Sobald ich diese Widgets oder andere detaillierte 3D-Daten aus einer gewissen Entfernung in VR betrachte, fangen sie stark an zu flackern. Dadurch kann man nichts mehr auf den 3D-Widgets lesen. Wenn ich in VR ganz nah herangehe, sehen sie jedoch gut aus. Es scheint also ein Renderproblem zu sein, das mit den Details aus der Ferne nicht zurechtkommt.


    Leider kenne ich mich nicht gut genug aus, um herauszufinden, woran das liegt. Ich habe versucht, Lumen zu deaktivieren, aber das hat den Effekt nur verschlimmert. Könnte das Problem am Raytracing oder am Anti-Aliasing liegen? Hat jemand von euch ähnliche Erfahrungen gemacht oder eine Idee, wie man das beheben kann? Oder kennt jemand ein gutes Tutorial dazu?


    Vielen Dank im Voraus für eure Hilfe!

  • Sleepy

    Hat das Thema freigeschaltet.
    • Offizieller Beitrag

    Mhhh, da fallen mir drei mögliche Gründe ein:

    1. Anti-Aliasing oder Super Sampling ist zu niedrig

    Unreal nutzt TSR (Temporal Super Resolution) als Standard-Anti-Aliasing. In VR kann das jedoch zu Problemen führen.

    • Lösung: Gehe zu Project Settings → Rendering und ändere das Anti-Aliasing von TSR auf MSAA oder FXAA.

    2. Z-Fighting durch Translucent Material

    Da du von einem Widget sprichst, könnte es als Translucent Material gerendert werden, was zu Z-Fighting führt.

    Was ist Z-Fighting?

    Wenn zwei Flächen in der Tiefe genau aufeinander liegen, kann die Grafikkarte nicht entscheiden, welches Pixel zuerst gezeichnet werden soll. Dadurch wechseln die Objekte ständig und es entsteht ein Flackern.

    • Lösung: Ändere das Material von Translucent auf Opaque oder Masked.
    • Falls Transparenz erforderlich ist, verwende Opacity Mask Clip Value.

    3. Pixel Density in VR zu niedrig

    In VR ist die Pixel Density entscheidend. Eine zu geringe Renderauflösung kann zu Flackern führen.

    • Lösung: Erhöhe die Pixel Density unter Project Settings → VR → HMD Scaling Factor auf 1.5 oder 2.0.
    • Falls du eine Nvidia-GPU nutzt, kannst du zusätzlich VRSS (Variable Rate Supersampling) für bessere Qualität aktivieren.

    4. Widget als Screenspace rendern

    Statt das Widget in der Welt zu platzieren, rendere es auf einer Plane als Screenspace Widget (Canvas-UI).

    • Lösung: Stelle sicher, dass die Widget-Komponente auf "World" eingestellt ist.

    5. Problem durch Raytracing oder Lumen

    Falls das Problem durch Raytracing oder Lumen verursacht wird:

    • Lösung: Deaktiviere Lumen testweise und überprüfe, ob das Problem verschwindet.
    • Falls ja, probiere eine andere Reflection-Methode, z. B. SSR (Screen Space Reflection).
  • Hi,
    vielen Dank für die schnelle Antwort.
    Ich habe jetzt noch einiges rumprobiert.
    1. Tatsächlich hatte ich die Anti-Aliasing Methode auf MSAA eingestellt, damit ist es aber ganz schlimm. TSR reduziert das Flickern enorm. Allerdings ist es immer noch etwas da. Es betrifft eigentlich alle Kanten, außer man steht ganz nah dran. Um so weiter weg umso stärker und umso stärker um so näher sich zwei Flächen sind, zum Beispiel sind Fugen nicht als Linie sichtbar, sondern sind durch das Flickern sozusagen dauernd irgendwo leicht unterbrochen.
    Dazu die Frage: Gibt es noch weitere Einstellungen, die das Anti-Aliasing verbessern?

    3. Ich habe keinerlei Einstellungsmöglichkeiten für das HMD oder die Pixel Density. Muss ich dafür noch andere Optionen oder ein Add-on aktivieren? (OpenXR ist aktiviert) Das würde ich wirklich gerne ausprobieren, ich habe das Gefühl, dass das viel verbessern würde!

    2. und 4. Irgendwie ist doch alle Geometrie betroffen, bei den Widgets ist es nur besonders schlimm...

    5. wenn ich Lumen deaktiviere, wird es auch wieder ganz schlimm.

  • Danke für die Hilfe! Jetzt hab ich's endlich gelöst :)
    das grundsätzliche Problem war wohl, die zu niedrige Pixel density. Die findet sich im Blueprint vom VRPawn und kann da einfach höher eingestellt werden. In Folge der zu niedrigen Pixel density ist der Anti-aliaser wohl nicht ganz mit den Details des Widgets klargekommen.
    Hier, ein Screenshot, falls das jemand auch mal so verzweifelt sucht wie ich :D

  • Hey Miriam


    Von mir noch ein Herzliches Willkommen hier bei uns :) Cool das du es jetzt lösen konntest und vor allem das du die Lösung auch nochmal gepostet hast, dadurch können auch andere (wie du auch schon gesagt hattest) profitieren.


    Manchmal kommt es nämlich auch vor das Fragen gestellt werden und Antworten gepostet werden und dann kein Feedback mehr kommt und dadurch kann es halt auch demotivierend für die Leute sein die sich die Mühe gemacht haben zu helfen oder wenn zb andere Leute sich den Post durchlesen und dann das selbe Problem haben und kein Feedback sehen auch gar nicht mehr nachfragen, deswegen ist das auch wirklich wichtig und toll wenn man Feedback gibt so wie du es gemacht hast :thumbup:


    Ich wünsche dir viel Spaß hier bei uns und dir weiterhin viel Erfolg ^^


    Liebe Grüße