Beiträge von MAXX

    Hi Leute.

    Ich habe ein Problem mit der Collision. Folgender Aufbau:

    es gibt folgende Actors mit den Static meshes, die mit -> dran hängen:


    MasterActor->MainCube

    Foundation -> FundamentMesh

    Building -> BuildingMesh1 -> BuildingMesh2


    Nach dem Spawnen hänge ich alle Meshes an den MasterActor mittels Attach Component to Component und WeldSimulatedBodies=true. Dadurch bewegen sich alle zusammen, wenn sich der MainCube bewegt. Mein Problem ist, dass bei einer Geschwindigkeit um die 445 plötzlich collisions auftreten, die meinen ganzen Cube "wegdrücken". Also habe ich angefangen die Objekte weiter voneinander weg zu halten... was dämlich aussieht aber das Problem "löst".

    Kennt jemand ein Möglichkeit, wie ich die Collision zwischen 2 Components abschalten kann?
    Ich hab es mit "Ignore Actor when moving" probiert, aber das hat nur auf SweepCollision Auswirkungen, nicht auf SimulatedPhyics. Leider kann ich auch nicht auf die Blocking Collision verzichten, denn meine Cubes sollen rumfliegen und sich rammen können. Weshalb auch unterschiedliche ObjectTypes nicht in Frage kommen. Falls jemand eine Idee hat, immer raus damit.


    Lösung: Collision Disabler Plugin aus dem Marketplace.

    Das Problem ist jetzt wieder aufgetreten, also hab ich nochmal richtig debugged, was da los ist.

    Ich hatte in C++ eine Component, die mir eine WidgetComponent verwalten soll. Damit ich das sinnvoll befüllen konnte, habe ich im Constructor mit dem ClassFinder mein Widget erfragt. Beim Laden des Editors wird bekanntliche jede Klasse einmal erstellt und meine Componente ist in meinem Plugin. Jedenfalls wurde mein Plugin zur LoadingPhase Default geladen und hat versucht, das SunSky zu laden, was aber zu dem Zeitpunkt noch nicht geladen ist (da es LoadingPhase PostEngineInit hat)... War nur ein Problem mit der Loading reihenfolge.

    Wie man sieht, wird der funktionsaufruf nicht gefunden. wie gesagt, mit refresh nodes geht GetSunPosition wieder. Leider bleibt das Struct kaputt und man muss es nach jedem start des projektes reparieren.


    Ich habe jetzt die Files aus dem schadhaften commit mal gelöscht, dann war der Fehler weg. Leider stecken da viele stunden Arbeit drin, die ich gern retten würde.



    Edit:

    Ich hab die fehlerhaften Blueprints mal geleert (alle nodes gelöscht), damit trat der Fehler im Sunsky nicht mehr auf. Also muss ich irgendwas gemacht haben, was das verursacht... versteh einer die unreal engine... ich werde jetzt nochmal einzeln löschen und immer schauen, ob es geht und werde damit hoffentlich herausfinden, welcher call den fehler verursacht...

    Hallo Leute,


    ich habe gerade einen Fehler im Sunsky, der scheinbar völlig zufällig ins Projekt kam und nicht mehr gehen will. Ich habe weder an der Engine, noch am Sun Position Calculator etwas verändert. Meine Änderungen beziehen sich alle auf ein Projektplugin, das nur HUD Sachen änderte, die mit dem Sunsky absolut nichts zu tun haben. Im Sunsky sind 2 Nodes invalid, einer davon lässt sich mit refresh nodes fixen (ist bei jedem projektstart wieder kaputt). Das andere ist ein Struct Break, der manuell wieder verbunden werden kann und dann bis zum Neustart des Projektes funktioniert. Ich weiß genau, in welchem commit der Fehler reinkam, denn springe ich zurück, dann ist der Fehler weg. Wie würdet ihr vorgehen? Wie finde ich heraus, was genau das Problem verursacht. Namenskonflikte und dergleichen kann ich ausschließen. Das ist mal wieder ein Fehler, der mir absolut keinen Sinn macht.*dead*

    Hat jemand schonmal was ähnliches erlebt und vielleicht Vorschläge, wie ich dem Problem Herr werde?

    Es geht um Widget Components, die man an Actors attached. Hat mit dem, was du in UMG UserWidgets machst nur entfernt zu tun. Mein Problem ist, dass das Layer, auf dem die 3D Widgets gezeichnet werden hinter dem Layer ist, auf dem das gezeichnet wird, was du zB bei dir zeigst.

    Hallo Community, hier mal wieder eine schwierige Frage.


    Ich möchte einige Widget Components über meinem normalen HUD zeichnen lassen, ohne Engine Source Code zu verändern.



    Hier sieht man, dass die WidgetComponents im Overlay unter das HUD geordnet wird. Z Orders spielen da scheinbar keine Rolle, was sehr schade ist.

    Kennt sich damit jemand aus und könnte helfen?

    Es wird jedenfalls spannend und in ca. einem halben Jahr wird man es ja voraussichtlich schon ausprobieren können.


    MAXX

    Das kann ich, aber ich baue erstmal meine 3D Modelle und die übertrage ich dann ins Spiel und wie gesagt wenn Epic halten sollte was sie versprechen, dann wird das deutlich schneller gehen am Ende.

    Wenn dein Spiel neuartiges Gameplay hat, dann kann ich nur empfehlen dieses Gameplay mittels Prototyp zu testen, bevor du in eine ernsthafte Produktion einsteigst. Wenn es Spaß macht, auch wenn es schlecht aussieht, dann lohnt es sich das Spiel zu spielen. Von schöner Grafik allein kann ein Spiel nicht überleben. Daher macht es sich gut das zu testen, bevor man viel Geld und Zeit investiert um am Ende festzustellen, dass die Idee im Kopf besser war als in Realität.

    Wenn du LowPoly nutzen willst wird dich keiner hindern. Aber aus Performance Gründen wird es wohl eine schlechte Ausrede werden

    Ich denke Low Poly ist eher eine Stilfrage und weniger eine Performance Frage. Andere Spiele mit high Poly gibt es ja auch, also ist es von vornherein eine Ausrede. Ich finde low poly spiele können sehr gut sein. Man bekommt halt nur schnell den Indie-Stempel und wird keinen vollen Preis verlangen können, wenn es zu sehr nach Low Poly aussieht.

    Also ich warte auf die UE5, ich habe da einen speziellen Plan eines Sci Fi Spiels...


    Wenn es wirklich funktioniert das man ohne LODs und Low Poly Modelle arbeiten kann, also wirklich alles in Highpoly rein wirft und es läuft dann wäre das zumindest für mich ein Game Changer.


    Zumindest mich beschäftigt dieser Aspekt sehr. So sehr das ich sowieso mit der UE4 kein Spiel bringen werde... wenn das wegfällt wäre das ein Traum.

    Man kann das Spiel im Ganzen von 4.X auf 5.0 heben. Du kannst also mit allem schon anfangen, für das du die neuen Features nicht unbedingt brauchst. Sprich, die Spielmechaniken, Menüs, grobes Leveldesign. Warten macht aus meiner Sicht überhaupt keinen Sinn, denn man findet immer einen "guten Grund" noch länger zu warten. Man täuscht sich nur selbst.

    Hallo,


    ich versuche gerade eine Cine Camera Component auf ein 2D Render Target rendern zu lassen. Ich fange gerade erst damit an, aber falls von euch schon mal jemand damit zu tun hätte, ließe sich das bestimmt beschleunigen.


    Im Composer Plugin gibt es eine Funktion CopyCameraSettingsToSceneCapture, wobei hier nur Post Process und Transform kopiert werden.


    Was mir aktuell fehlt sind


    1. Reflections der Reflection Captures in der Nähe(die sehen einfach nicht korrekt aus sonder viel heller oder dunkler, wobei fast gar keine Farbe in der Reflection zu sehen ist)


    2. die Tiefenunschärfe, wenn man an den Current Camera Settings zum Beispiel Current Aperture ändert.


    Mir ist klar, dass das so nicht gedacht ist, ich will das Bild im Widget/RenderTarget allerdings exakt so haben, wie es die eine beliebige Cine Camera Component anzeigen würde.


    Viele Grüße,

    Mario

    Ich habe jetzt den Ansatz von Tomura fertig umgesetzt, funktioniert tadellos und ich hab noch was gelernt dabei. Ich wusste gar nicht, dass man vom allseits beliebten Viewport erben und sowas damit anstellen kann. Geschweige denn von den abgefahrenen Delegates, die im ShooterGameInstance verwendet werden. Danke vielmals, für die interessanten Ansätze, das mit dem Post Process schaue ich mir auf jeden Fall auch mal an, das klingt interessant.

    Ich hab mir das ShooterGame mal angesehen, dort funktioniert es scheinbar, wie ich es haben möchte. Vor dem connecten rufe ich auf der GameInstance ShowLoadingScreen auf, die das LoadingScreenModul anwirft. Leider wird noch nichts angezeigt. Die verwenden allerdings auch ein angepasstes GameViewport, sodass ich da nochmal weiter recherchieren muss.

    Hallo Leute,


    ich möchte nachdem ein Spieler auf den dedicated Server gejoint ist, sofort ein Widget anzeigen, damit der Spieler nicht sieht, wie die Spielobjekte nach und nach gespawnt werden. Das soll sozusagen als Loading screen dienen. Wenn ich das im PlayerController auf BeginPlay Spawne und hinzufüge, dann sehe ich etwa für 1 Sekunde, wie sich im Hintergrund die Welt aufbaut.


    Kennt jemand eine Möglichkeit ein Widget sofort als erstes zu spawnen, noch bevor irgendein Begin Play aufgerufen wird? (im Constructionscript lassen sich Widgets leider nicht spawnen) Levelblueprint hab ich auch schon versucht.


    Edit:

    Aktuelle Lösung ist folgende: OnPostLogin wird auf den PlayerController ein reliable custom event zum client geschickt, dort dann sofort das widget geadded. Jetzt hab ich noch etwa 1-10 Frames lang den Hintergrund im Blick, bevor beinahe sofort der LoadingScreen erscheint. Mehr Latenz bedeutet hier mehr Wartezeit auch auf den Loadingscreen. Falls also noch jemand einen magischen Trick kennt, wie man auch diesen Bruchteil einer Sekunde wegmachen kann, immer raus damit :D

    Hallo Freunde unter der Sonne,


    ich hab gerade mit NVidia Flex zu tun und möchte mal wieder ungewöhnliche Dinge damit tun. Wenn jemand Ahnung davon hat, würde ich mich gerne mal austauschen.


    Aktuell versuche ich Partikel unterschiedlicher Größe miteinander kollidieren zu lassen. Das Problem dabei ist, dass das so nicht gedacht ist. Die Partikel werden von unterschiedlichen Templates gemanaged und scheinen sich bei der Kollisionsberechnung nicht zu kennen. Daher muss ich ziemlich tief in den Code rein, um das zu lösen, falls es überhaupt mit vertretbarem Aufwand machbar ist. Daher, falls jemand schonmal seine Nase da drin hatte, gerne mal austauschen.


    Viele Grüße,

    Mario

    Ich wollte ein Tool Bauen, mit dem man Meshes optisch Slicen kann, ohne die Materials anzufassen. Also zum Beispiel einen Panzer längs aufschneiden, um rein zu gucken. Das geht allerdings nicht so einfach und schon gar nicht via PostProcess. Also habe ich die Funktionalität in eine Material function gepackt, die ich dann immer in die entsprechenden Materials einbauen muss. Dieses einbauen wollte ich mir sparen, weil das potenziell viele Projekte mit vielen Materials betrifft, da komme ich aber nicht drumherum, so wie es aussieht.

    Wie gesagt, ich will bestehende Materials nicht anfassen müssen, weil die mir gar nicht vorliegen. Aber trotzdem mein Feature verwenden können.


    Ich dachte jetzt an Layered Materials, aber da baut man ja auch alles in ein Material rein.


    Normalerweise würde man das was ich machen will im Post Process machen, nur leider bearbeitet man damit ja nur das fertig aus der 3d szene gerenderte Bild, also kann ich nicht mittels Opacity Dinge verschwinden lassen, die unsichtbar sein sollen...