Widget auf Z-Achse verschieben

  • Hallo Leute,


    gibt es eine Möglichkeit ein widget auf der Z-Achse zu verschieben? Also so, das dass erstellte Widget durchaus von Objekten in der Spielwelt verdeckt werden kann. Ich kann die Einstellung "zOrder" verstellen wie ich möchte, aber das widget bleibt immer an einer Stelle. Interessant, dass eine Funktion vorhanden ist, die augenscheinlich auf nichts reagiert...


    Kann mir jemand helfen bei dem kleinen Problem?


    Liebe Grüße

  • Der Z-Order ist nur für die Widgets selbst, die zum Bildschirm (nicht zur Welt) hinzugefügt werden. So kann man bestimmen, welches Widget oder welches Element eines Widgets wann gerendert wird (später = höhere Ebene).

    Wenn du ein Widget mit den Objekten der Welt irgendwie interagieren lassen willst (im Sinne von abschneiden / verstecken) musst du ein Widget Component zu einem Actor hinzufügen. Das Element kannst du dann frei auf allen Achsen verschieben, da es sich tatsächlich als Objekt in der Welt befindet.

  • Danke für die Hilfe! Das Problem was ich dann aber habe ist, dass wenn das widget Component auch nur ganz leicht glüht (Emessive), dann verschwimmt das widget extrem und sieht einfach extrem hässlich aus bei Bewegung. Bei einem richtigen widget hab ich das nicht, da es am Bildschirm gekoppelt ist

  • Ich hab weitere Stunden jetzt damit rum probiert, aber keine Lösung gefunden.


    Gibt es in dieser Engine wirklich keine Möglichkeit, ein HUD am Spieler mit einem Widget-Component zu befestigen, ohne das dieses bei Bewegung bis zur Unkenntlichkeit verschwimmt? Kann doch wirklich nicht sein!..

  • Ich glaube auch nicht das Widgets dafür geeignet sind. Widgets sind eben halt dafür da um Text- und Grafikinformationen an den Spieler zu geben, bzw. Eingaben abzufragen. Wenn du dir mal die Möglichkeiten der Widgets anschaust dann ist das so eine Art wie Windows Forms unter C#. Die sind nicht dafür gedacht, und waren auch nie dafür gedacht, direkt in die Spielewelt integriert zu werden. Höchstens indem du sie mit Transforms ein wenig schräg stellst oder so, so das eine Integration dann ein wenig simuliert wird.


    Aber eigentlich sind die Widgets ja immer an das HUD gebunden.


    Was hast du denn genau vor, bzw. was willst du darstellen?

  • Ich hab weitere Stunden jetzt damit rum probiert, aber keine Lösung gefunden.


    Gibt es in dieser Engine wirklich keine Möglichkeit, ein HUD am Spieler mit einem Widget-Component zu befestigen, ohne das dieses bei Bewegung bis zur Unkenntlichkeit verschwimmt? Kann doch wirklich nicht sein!..

    Nutze statt Space=World lieber Space=Screen in den Widget Component Einstellungen. Jedoch kannst du dann das Widget nicht mit Welt-Objekten verdecken.


    Das Problem ist folgendes:

    Auf Grund der Natur von Screen Space Effekten kann das Spiel keine Geschwindigkeits Vektoren generieren die mehrere Ebenen haben. Somit hast du im TAA und MotionBlur keine vernünftigen Geschwindigkeitsinformationen für Transparente Objekte wie z.B. deinem Widget im Widget Component.

    Da dein Widget auch im World-Space gerendert wird, wird dieses von Post Processing erfasst.


    Falls das keine Option ist, solltest du dir ein vernünftiges Widget Material erzeugen, was z.B. Masked oder Opaque ist. (Nie probiert, sollte aber gehen). Dann wird es besser, du kannst aber bei Masked nur noch 0 oder 100% Transparenz haben. Du wirst aber trotzdem TAA und MotionBlur Artefakte haben, falls das so ist, reduziere Motion Blur als erstes. (TAA kann man auch etwas modifizieren, ist aber komplizierter.)

  • Mein Ziel war es einfach, die Munitionsanzeige dynamisch am Spieler anzeigen zu lassen. So wie es auch in diversen Spielen bereits zu sehen ist. Als muss es ja ne möglichkwir geben das zu machen. Ich nehme aber mal an, dass die engine dazu nicht fähig ist...


    Aber dann stelle ich mir dir Frage, wieso es überhaupt ein Widget Component gibt, welches man an einem Character befestigen kann, wenn das tiwl einfach nutzlos ist.

  • Ich habe bisher noch kein Spiel gesehen, das es anders macht, wie es in Unreal auch mit den Widgets macht. Ich muss allerdings gestehen, das ich nicht unbedingt der FPS-Spieler bin. Kannst du mal ein Beispiel, Screenshot, Video oder ähnliches bringen? Weil, ich bin mir relativ sicher, das man mit der Engine eigentlich alles umsetzen kann.

  • Mein Ziel war es einfach, die Munitionsanzeige dynamisch am Spieler anzeigen zu lassen. So wie es auch in diversen Spielen bereits zu sehen ist. Als muss es ja ne möglichkwir geben das zu machen. Ich nehme aber mal an, dass die engine dazu nicht fähig ist...


    Aber dann stelle ich mir dir Frage, wieso es überhaupt ein Widget Component gibt, welches man an einem Character befestigen kann, wenn das tiwl einfach nutzlos ist.

    Also sowas?

    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.


    Das Widget Component ist recht praktisch wenn du z.B. Interaktive UIs hast z.B. ein LCD Panel mit Menus in einem Computer Terminal oder in VR für Menüs, da diese wirklich in der Welt sein müssen und nicht auf dem Bildschirm.


    Wie gesagt, was du willst ist damit möglich. Jedoch gibt es Grenzen, z.B. indem man es im Screen Rendert, statt in der World. Oder indem man von Transparent auf Masked/Opaque umstellt, damit Screen Space Post Processing vernünftig funktioniert.