Fragen zur Verwendung von UE4 Elementen.

  • Moin,


    ich schaue zurzeit als Lernmaterial https://www.udemy.com/course/u…ngine-blueprint-konzepte/

    Dadurch habe ich schon ein wenig was gelernt.


    Die Frage die mich jetzt grade aber ein wenig beschäftigt ist, wann man eigentlich was benutzt.



    In einem Shooter z.b. besteht ja vieles aus "Actor" Teilen.
    Das UI ist ein Widget etc.

    Wie ist das aber z.b. bei einem Card Game wie Magic the Gathering?

    Habe mir im Marketplace das CCG geholt, aber der Aufbau mit seinen hunderten Macros und Funktionen verwirrt mich total.

    Dort scheinen die Karten aber Widgets zu sein.

    Also sollte man Karten immer als Widget darstellen oder geht das auch als Actor?

    Wo wäre da der Unterschied?


    Wahrscheinlich klingt die Frage doof, aber ich raff halt nicht so ganz wie das in z.b. Magic gelöst ist, mit der Hand, kann mir das nur als Widget vorstellen.

    Aber wäre es auch mit Karten als Actor möglich?

    In Hearthstone z.b. sieht das nicht aus als wären es nur Widgets (ist aber glaube auch Unity)



    Hier mal ein Beispiel was ich gerne versuchen möchte.

    Ich hab 4 Felder auf die ich etwas ablegen kann.

    Jedes Teil hat 4 Werte, für Oben, Unten, Rechts und Links.

    2 Spieler, Spieler 1 belegt ein Feld. Passiert erstmal nichts.

    Spieler 2 legt eine "Fläche" daneben, die Werte der Fläche nach Rechts des ersten Spielers sind kleiner als die Werte der Fläche des 2 Spielers nach links. Also gehört die Fläche dem 2 Spieler und so weiter.


    Ich wurde jetzt sagen ich mache das nicht mit Widgets.

    Oder?

    Ich muss ja irgendwie einleiten können das wenn eine Fläche gelegt wird das dann etwas passiert. Wie z.b. das vergleichen der Werte.

    Würde daher mit einem Event "Overlap" anfangen. Was bei Widgets glaube ich aber nicht geht.



    Ich weiß ich hab noch viel zu lernen, aber ein "Ziel" vor Augen zu haben bringt mich weiter als nur irgendwelche Tuts zu schauen.

    Mein Hauptproblem ist das ich nicht so recht weiß wie ich nach diesen Sachen Googlen würde. Da ich nicht weiß wie man das in Ue4 nennt.

    Beispiel: Ich will das wenn ich eine Fläche über einem Feld loslasse, es Automatisch von der Fläche erkannt wird das etwas darüber ist und es auf sich selbst zentriert.

    Ich hab versucht mit sowas wie "UE4 snapping to place" was zu finden aber nada...

  • Geht beides.


    Widgets sind klassischerweise meist als UI Elemente verwendet. Bekannteste Beispiele ein Menü zum Speichern/Laden, aber auch Elemente wie eine Punktzahl, Kill_Count oder ein Inventar lassen sich damit sehr gut machen. Alles was Knöpfe, Listen usw hat. Es gibt aber auch 3D Widgets - die aber eher aus dem Bedarf von VR entstanden sind. Das gute an Widgets ist daß du sie jederzeit über den Aktuellen Screen werfen kannst und du hast du möglichkeit Masu und Tastatur auf das Widget zu legen. Wenn du in einem 3D Spiel normal mit der Maus umherschaust legst du z.B. bei Druck auf Escape ein Widget auf den Screen, stellst die Maus auf das UI um und schon kann ich statt umherzuschauen den Knopf "Spiel beenden" mit einem klassischen Mauszeiger anklicken.



    Mal von 3D Widgets abgesehen sind widgets aber normalerweise klassisches 2D, also Bilder, Buttons, Listen usw die direkt auf den Screen geknallt werden.


    Von daher wenn du ein 3D Poker Spiel machen willst würden sich Widgets zwar für die Aktionsbuttons ("Erhöhe den Einsatz", "Aussteigen", "Mitgehen") eignen - den Rest würdest du aber mit Actors machen - du willst ja ein echtes 3D Spiel haben.



    In Widgets kann man auch ein "Drag and Drop" einbauen, also mit der Maus ziehen und bewegen.


    https://docs.unrealengine.com/…To/DragAndDrop/index.html


    Ein "Overlap" gibt es in einem nicht soweit ich weiß - aber du kannst ja die Position des Widgets auf dem Screen abfragen - Get Screen Space position - von daher weisst du dann ja wo das Element ist.

    • Offizieller Beitrag

    Das Widget ist dafür gedacht um Menüs und allgemein das User Interface darzustellen.


    Ich hab nicht verstanden was du genau vor hast aber im Grunde hast du im Widget die Möglichkeit 2D Elemente zu plazieren und auch Eingabefelder und solche dinge zu platzieren.

    Das Könnte zb auch so aussehen:
    1.Du startest das Spiel.

    2.Das Widget mit der Health Anzeige und die Anzahl der Leben wird geladen.

    3.Drückest du Escape wird die Health Anzeige ausgeladen und Ein Menü wird dafür geladen. Dort hast du die Möglichkeit das Spiel zu beenden, die Lautstärke zu verändern usw.


    Wie viele Leben du hast, das würdest du in einem normalen Blueprint berechnen (setzen) und dieses Wert dann in deinem Widget in einer Textbox oder als Bild ausgeben.

    Mit einem Widget hast du viele Werkzeuge um dinge direkt auf dem Monitor in 2D anzuzeigen.


    Alternativ könnte man dafür sicherlich auch eine Plane verwenden nur wie man dann zb dort ohne Widget einen Text eingeben könnte oder an der Lautstärke drehen kann weiß ich nicht.


    EDIT Kyodai war diesmal schneller :cursing: