Beiträge von Dj EKI

    Da die Nodes sich auch geändert haben, dir aber trotzdem das richtige angezeigt wird, nur halt nicht so wie ue5 sich das vorstellt, musst du refresh all nodes machen, dann kompilieren und dann speichern. Überall dort, wo die structure vor kommt.

    Ich habe selber mit der ue5 experimentiert. Es ist kein Wunder, dass alte spiele nicht mehr migriert werden können. Viele Anwendungen sind anders und fehlen sogar. Destructable actors werden nicht mehr erkannt, obwohl das Plugin aktivierbar ist, Niagara wird auch nicht von alten erkannt, viele nodes sind anders geworden oder fehlen sogar.

    nutze tmap und sortiere sie danach.


    Das ist halt der Nachteil mit c++.


    Ich kann dir leider da nicht helfen, aber trotzdem wollte ich dich fragen, warum du c++ verwendest.

    pdb dateien sind doch im Binary ordner. Den Ordner einfach löschen. Intermediat auch. Zum schluss solten nur Content und Source und *.uproject vorhanden sein. Config ist nicht wirklich nötig. Es sei denn, es ist vieles eingerichtet, denn ich gehe davon aus, das du ein gestartetes Projekt übernehmen möchtest und damit weiter arbeiten willst.


    Dann fällt mir noch was ein, Normalerweise musst du nur die uproject Datei umbenennen. Die Config ist eigentlich egal, die kann man im Editor unter Project Settings auch ändern. Das das Modul geändert werden muss, ist eigentlich nicht nötig. Es sei denn, du willst es. Dann musst du auch alle Source Dateien umscripten. Auch in der uproject Datei ist der Verweis auf das Modul. Den einfach mal mit ein Editor öffnen.

    - Mit der Ratte habe ich das so gemacht das ich einen Trigger habe und in dem Trigger Bereich spawnt die Ratte, aber wenn es kollidiert, soll er nochmal spawnen. Ist das keine gute Lösung?

    Das könnte dieser Callstack sein, ein immer wiederholender Loop. Deaktivieren und ausprobieren.


    Ich kann die Log nicht sehen, zwecks merkwürdiger Homepage ^^ Ein Fehler führt zu andere Fehler, daher kann man viele Plugins noch nicht in verdacht ziehen. Wie sieht denn der erste Fehler aus?


    Weil, ich vermute, das an dem PC etwas fehlt und deswegen zu all diesen Fehlern führt. Daher alle hardwares updaten.

    Axo, da sind noch paar Dateien die auch umbenannt werden müssen. Wenn C++ dabei ist, dann ist einfach nur krückig alles zu ändern. Sogar paar includes müssen geändert werden in der cpp datei

    Ja, der target muss auch geändert werden. Alles zu ändern ist sinnlos. Einfach alle Source und Content Sichern, dann Save und Immerdiate löschen. Binaries und .vs natürlich auch.

    Den Name im Source Ordner umbenennen zu dem Projekt Name, wie auch die uproject heißt. zB DeinSpiel.Target.cs und DeinSpielEditor.Target.cs falls der existiert. In beiden steht eine Line ExtraModuleNames.AddRange( new string[] { "DeinSpiel" } ); Den auch ändern.


    Dann nochmal mit rechtsklick auf uproject und Generate Visual studio files. Dann nochmal builden.

    Hat sich ja vieles von selbst erledigt ^^

    Wenn du es aber wie ein Profi machen möchtest, das mit der Handkarre und dem Charakter, dann solltest du dafür ein weiteren Bone im Charakter haben. Der Bone kann von mir aus, Handkarre_Socket heißen. Im 3D Programm muss die Handkarre an dem Bone fixiert werden und der Charakter wird dann für bestimmte Bewegungen animiert. Somit ist die position der Hände zu 100% gewährleistet und auch die Kurven können ganz genau animiert werden. In UE4 einfach an den Bone ansockeln lassen und fertig.

    Was auch geht, die Hände mit IK in ue4 an die Griffe ansetzen lassen. Ist aber schlecht zu animieren.

    Und natürlich kommt es auf dem Charakter und dem Spiel an. Ist es nur eine simple Spielfigur, wo die Drehungen mit der Karre egal ist, dann reicht ein normales ansockeln an dem Actor völlig aus.

    Tatsächlich ist Hide die bessere Wahl. unparent ist einfach dafür nicht vorgesehen.

    Beim Widget bin ich selber nicht einig, ob alles in einem Widget erstellt werden soll, oder Widgets sich mit anderen Widget überlappen sollen. Ich mache es aber meistens alles in einem Widget, man hat mehr Kontrolle, aber mehr Chaos. Naja, wird etwas unübersichtlicher. Dann würde ich mit WidgetSwitcher arbeiten und die widgets so einblenden lassen. Man kann anstatt alles in einem Widget zu erstellen, auch mehrere widgets erstellen und die mit BP in einem WidgetSwitcher füttern.


    Und trotzdem gebe ich noch ein Tip. Irgendeiner muss ja dieses widget erstellen. Also erstellt ein BP Actor dieses Widget und gibt dem Widget sein "self" weiter und lässt sie im Widget abspeichern. Somit weis Widget A sein Erschaffer. Nun kann Widget A ein Widget B erstellen und Widget A gibt sein "self" an Widget B Weiter und speichert die dort in eine Variable. Somit weis Widget B, wer sein Erzeuger ist.

    Es ist schon korrekt, wie du vorgehst. Die Struct muss erst aufgesplittet werden und dann mit bestimmten Bedingungen verglichen werden.

    Jetzt kommt der Moment mit dem Löschen. In einer Loop schleife zu löschen ist sehr heikel. Wenn das bei dir so funktioniert, dann ist daran nichts auszusetzen. Du hast ein "InventoryArray" der an einer loop schleife ist. Wenn der gerade an der Index 3 ist, und du löscht dann die index 3 (ist auch bei 0,1,2 so), dann springen alle nach dem index 3 auf die index 3 positon. Somit ist index 4 jetzt die index 3. Deine loop ist aber bei index 3 und die nächste ist index 4. Das was index 4 war, wird übersprungen obwohl der loop auf index 4 gesprungen ist. Wenn ein Array verändert wird, bekommt das der loop nicht mit, wenn es um den gleichen array geht.


    Hier auf diesem Bild gut zu sehen. Bei Index 3 wird Index 1 gelöscht. Index 3 hat aber hier den Wert 4. Also ist der 4. Index auf die 3 gesprungen. Der Print string ist nach dem Remove index, dadurch sieht man das Ergebnis vom veränderten Array nach der remove aktion.