Auflösungsproblem (Mausoffset)

    • Offizieller Beitrag

    Nach der Änderung der Bildschirm Auflösung zb durch hinzuschalten einer VR Brille, ändert sich zwar die Auflösung des Bildschirms aber nicht die Auflösung des Maus Grids.


    Hat man in Unreal ein Buttons kann man diesen über den PC ganz normal klicken aber sobald die Brille eingesteckt wird, liegt der Klickpunkt außerhalb vom Button.


    Das Problem tritt nur im Vollbild Modus auf.


    Hatte das Problem schon jemand und kennt jemand eine Lösung.

    • Hilfreich

    Kommt mir bekannt vor. Versuch mal das Widget bei nem VR headset connect über remove from parent aufzulösen und über create widget --> add to viewport neu zu setzen. Grundsätzlich ist es aber ein Problem wenn Brille und Monitor unterschiedliche Auflösungen haben.


    Kleiner Tip aus der Praxis: Ja, grundsätzlich geht VR + Maus + Widget irgendwie. Aber best practice is VR + Motion controller + 3D Widget. Alles andere sind eher notlösungen und Immersions-Killer. Kein Endanwender nutzt freiwillig Maus oder Keyboard in VR (Man sieht ja nix!). Und 2D Widgets sind in VR auch irgendwo zwischen "unpraktisch" und "unmöglich".

    • Offizieller Beitrag

    Kein Endanwender nutzt freiwillig Maus oder Keyboard in VR (Man sieht ja nix!). Und 2D Widgets sind in VR auch irgendwo zwischen "unpraktisch" und "unmöglich".


    Wenn du eine Anwendung hast, die sowohl in VR als auch über Touch funktionieren soll und du eine einfache Usability haben willst, dann baust ein Switch der erkennt ob eine Brille angeschlossen ist oder nicht und dann muss eben auch beides abgedeckt sein.


    Zwei Anwendungen einmal für VR und einmal für Touch kann ja auch keine Lösung.


    Trotzdem danken werd auf dieser Basis mal weiter experimentieren und wohl gegenfalls ein Epic Ticket schreiben.

  • Ja wie gesagt - technisch bekommt man fast alles hin. Aber ganz ehrlich - entweder mache ich eine gute VR Anwendung oder eine gute 2D Anwendung. Eine Mischung wird immer mehr "kompromiss" als "gut" sein. In VR und 2D unterscheiden sich halt Bedienung und Usability grundsätzlich.


    Du kannst ja im Tick den VR Focus/Worn abfragen um zu sehen ob ein HMD in Benutzung ist.


    https://docs.unrealengine.com/…etVRFocusState/index.html


    https://docs.unrealengine.com/…etHMDWornState/index.html

    • Offizieller Beitrag

    Bei der Anwendung handelt es sich um eine Produktdarstellung die in VR und als Desktopversion zur Verfügung steht.

    Wir konnten nun auch das Problem eingrenzen.

    Es ist in der Tat so, das bei der Version 4.23 bei angeschlossener VR Brille automatisch die Auflösung der Brille gesetzt wird und diese nicht mehr änderbar ist. Auch nicht mit r.SetRes 1920x1200f oder ähnliches.

    In unserer Anwendung (4.23.0) startet erst das Menü zum auswählen verschiedener Produkte.Nach der Wahl eines Produktes wird dann entweder der Desktop oder der VR Modus gestartet. Da die Auflösung beim Start 2880x1700 (HTC Cosmos) genommen wird und dies nicht kompatible zum Monitor ist, wird das Bild scalliert, aber nicht die Mouse Auflösung. Dadurch haben wir einen Mouse Offset zu den Buttons und können diese nicht mehr betätigen.


    In der Version 4.22 passiert das nicht, Dort wird erst die Auflösung aktiviert, wenn der VR Modus startet. Im Menü haben wir unsere gewollte Auflösung (z.b. 1920x1200) und die Buttons können wie gewohnt gedrückt werden.


    Somit denken wir, das dies ein Bug oder ggf. eine Einstellung in der 4.23 ist. Kann das jemand bestätigen? ggf. bitte mal testen.


    Workflow:

    1. VR Brille / SteamVR starten

    2. Projekt in 4.22.3 erstellen

    3. Im LevelBlueprint Print String ->Auflösung (Get Size Viewport) anzeigen lassen

    4. r.SetRes 1920x1200f setzen

    5. Projekt in 4.23. erstellen

    6. gleich wie 3.

    7. gleich wie 4


    danach beide Projekte starten und die Auflösung ablesen.

    Erwartetes Ergebnis:

    bei 4.22.3 wird 1920x1200 angezeigt.

    bei 4.23.0 wird je nach Brille 2880x1700 (HTC Cosmos) angezeigt.



    Es geht hier erstmal darum zu prüfen, ob ein Problem bei der 4.23 besteht und das dann ggf. an Epic Games melden.

    Wir werden erstmal wieder in die 4.22.3 switchen.


    Danke im Voraus.....

  • Meiner Meinung nach kein Bug sondern ein Feature. So wie es in 4.23 ausgegeben wird ist es formell korrekt da das HMD den Focus hat. In einem HMD kann man die Auflösung nicht ändern - lediglich die screen percentage (over sampling/under sampling). r.SetRes geht nur für den 2D Screen.


    Ich denke mal entweder machst du 2 widgets - eins in 2D eins in VR Auflösung oder du nutzt DPI scaling im Widget:


    https://docs.unrealengine.com/…owTo/ScalingUI/index.html


    Ich denke auch ein Ticket bei Epic wird wenig Aussicht auf Erfolg haben. Ich schätze mal für VR wird auf Dauer nur noch 3D Widgets und VR controller supportet.



    Ich würds gerne testen aber ich hab aus Armut meine Vive verkauft. Sniff. Wenn ich mal wieder Geld habe und die billiger wird kauf ich vielleicht noch mal ne gebrauchte.