Beiträge von Phoenix-100

    ABC ist gebaked und hat keine Bones.

    Was jetzt performanter ist weis ich nicht. Aber bei den paar Tausend Vögel ist die Performance nicht schlecht.

    Ist wohl eher auch eine Akademische Frage. Du renderst diese Ratten ja nur wenn der Spieler vorbei kommt.

    Hallo zusammen


    Konnte hier nicht ganz folgen. Was genau ist das Ziel?


    Wenn du Animationen in Niagara haben willst, geht das in paar einfach Schritten.

    1. Erstelle die Animation mit einem Skeleton Mesh, oder wie auch immer du willst

    2. Expoertieren als ABC.

    3. Improtieren als ABC

    4. Niagara Effect erstellen

    5. Component Auswählen

    6. Irgendwelche Forces hinzufügen

    7. Lifetime anpassen


    Damits noch bessser aussieht und nicht alle dieselbe Animation haben solltest du mehrere Emitter haben und die Forces Random machen. Das wars auch schon. Hier ein Beispiel mit paar Tausen Vögeln. Ist nur ein Proof of Concept und meine Vögel sind ein bisschen Eckig, bei dir wird das viel schöner :)


    Hallo


    In diesem Style, oder genau gleich wie im Viewport?

    Hier wird mittels SceneCapture2D eine andere Kamera an einem komplett anderen Ort gerendert.


    9199-1-png


    Gruss


    // Edit: Frage wohl falsch Verstanden. Geht bei der Frage wohl eher um sowas hier.

    Hallo


    Ich verwende kein Visual Studio mehr, aber ich glaube du könntest zwischen den Intellisense Versionen switchen, versehentlich.

    Ist so ähnlich wie das Keyboard layout switchen bei Windows. Bei einem Modus (tab-only Intellisense completion) funktioniert nur Tab zum auswählen der Suggestion und nicht Enter.

    Wenn die Suggestionbox offen ist kannst mit crtl+alt+space den Modus in den jeweils anderen wechseln.
    Ist nur eine Vermutung. Du kannst ja mal versuchen Tab zu verwenden oder den Modus zu wechseln. Geht natürlich auch über die Settings.


    Gruss

    Hallo


    Ich kann mir nicht vorstellen warum das mit deinem RAM zu tun haben sollte. Vermutlich ist es eher eine Referenzproblem. Wenn du das einfach rauslöscht hast du falsche / null referenzen was die Engine zum crashen bringen kann. Du solltest versuchen die Referenzen zu beseitigen und erst dann zu löschen.


    Gruss

    Hallo


    Wenn du sowieso gerne Quixel verwendest empfiehlt sich doch Mixer sehr. Es ist sehr gut in die Engine über Bridge integriert und das Toolset ist extrem mächtig. Zudem noch kostenlos mit der Unreal Engine nutzbar.


    In der Engine kannst du dann auch ganz einfach Vertex painting verwenden.


    Gruss

    Hallo


    Ich glaube ich weiss jetzt was du meinst. Ich meinte statt dem hier:

    Exportiere den gewünschten Gegenstand (Static Mesh oder Skeletal Mesh) aus dem Editor heraus.

    Danach importiere diesen und verändere im Bereich "TRANSFORM" folgendes:

    IMPORT TRANSLATION = Hier kann der Pivot nachjustiert (neu gesetzt) werden. Es ist extrem fummelig bis man den passenden Wert gefunden hat, die Wert im Bild sind das Beispiel für das Geschützrohr, bis der Pivot nachher endlich an der richtigen Stelle war.

    Es hat ca. 70 Versuche gedauert bis es funktionierte (man sollte in kleinen Schritten machen).

    -> Importieren -> Werte Testen -> Gegenstand in die Welt ziehen um zu sehen -> Gegenstand in der Welt löschen -> Welt speichern -> Gegenstand speichern -> sehr wichtig, sonst muss man ein "force delete" machen, was man immer vermeiden sollte! -> Gegenstand löschen -> erneut versuchen

    Damit es nicht so fummellig ist und 70 Versuche brauchst, kannst du die die Import settings in den Mesh Settings ändern. Auf Reimport oben links musst du trotzdem klicken, aber dann Musst du nicht erneut exportieren. Sondern einfach anpassen -> Reimport und schon siehst du wo der Pivot neu ist.


    Gruss

    Zunächst mal musst du das machen mit dem Argument von Geloscht sonst weiss der Server nicht wohin.

    Weiter kann der Client nichts auf den Server "hochladen". Es ist eher so, dass der Client den Server bittet irgendetwas zu tun.

    Das ist aus Cheatprotection Gründen so. Du brauchst weder den Mutlicast, noch den Authorithy switch und auch component replicates brauchst du vermutlich nicht. Im Grunde ist es realtiv einfach.

    Lediglich Replicates muss beim Actor gesetzt sein, und das hast du ja richtig aktiviert.

    Jetzt brauchst du nur noch ein Event RunOnServer mit einem Location Argument welches dann dein Objekt spawnt.


    Gruss

    Hallo zusammen


    Du kannst kein Multicast effektiv vom Client her aufrufen. Wenn du das tust, wird es nur lokal auf dem Client ausgeführt. Um es auszuführen brauchst du Authority. Deswegen nutzt Geloscht auch das Gate.

    Wenn du aber einen Actor replicaten willst brauchst du aber ohnehin kein Multicast. Du musst lediglich den Actor auf replicated setzen und die Spawn Methode auf dem Server von einem Actor mit Owning Connection her aufrufen. Das Objekt wird dann auf dem Server gespawnt und an alle Client replicated.


    Gruss

    Ja wie gesagt für simple Dinge geht das problemlos.

    Kommt immer auf die Anforderungen an. Du kannst dir ja einmal die Sample Projekte anschauen. Zum Beispiel das RPG Projekt.

    Dinge wie Pausieren, Inventar, skippen von Cutscenes, das HUD werden da im PlayerController gehandelt.

    Dinge wie die verschiedenen Angriffsfähigkeiten, Ausweichfähigkeiten, Heilung, Waffenwechsel, Health etc. wird im PlayerCharacter gehandelt.


    Gruss

    Hast du ein konkretes Beispiel?

    Üblicherweise baust du schon alle Funktionen in einen Controller.

    Die Pawnspezifische Logik würde ich aber auch in den Pawn packen. Wieso auch nicht?

    Dann must du nur den Pawn wechseln und schon hast du die neuen Controls und gänzlich anderes Gameplay.

    Hallo


    Du wolltest das doch mittels GameMode machen, da haben wir ja besprochen, dass das schwierig wäre.

    Aber, das was du dort beschrieben hast, ist im Grunde einfach das Wechseln des Pawns.

    Ganz allgemein kannst du den gesamten Playerinput auch im Pawn handeln, so kannst du den Playerinput jeweils pro Pawn handeln.

    Änderst du den Pawn, ändert sich das gesamte Verhalten, ganz simpel.

    Du kannst es auch im PlayerController handeln, für komplizierte Dinge sogar notwendig.

    Um auf die Frage zurückzukommen: Die Steuerungselemente müssen nicht zwingend in den Pawn, wäre vermutlich aber sinnvoll. Der PlayerController tut was immer du dem sagst, der bleibt über das ganze Level hinweg bestehen, während die Pawns zerstört werden können, das ist wichtig. Wieso willst du mit BP unterscheiden welchen Controller für welchen Player benötigt wird?

    Es gibt einen Controller pro Player, das war's.


    Gruss

    Hallo Exaran


    Vielen Dank für das Tutorial, ich habe eine kleine Ergänzung. Du kannst diese import translation auch ohne den Export ändern, und zwar in den Static Mesh Details. Du kannst dir dort auch den Pivot anzeigen lassen und dann einfach korrigieren, erspart das exportieren.


    Im Editor kannst du den Pivot übrigens mit Alt + Mittlere Maustaste direkt verschieben, ziemlich cool beim Designen von Levels. Zum Beispiel wenn du einen anderen Schwerpunkt brauchst.

    Falls es dort permanent sein soll, den Pivot mit Alt + mittlere Maustaste verschieben und dann Rechtsklick>Pivot->Set as Pivot Offset.

    Dann bleibt der Pivot an der neuen Position.


    Grüsse

    Hallo zusammen


    Remove Widget löscht das erstellte Widget nicht, es wird nur nicht mehr angzeigt. Selbst wenn du eine Variable hast, diese auf nullptr setzt, wird das Widget nicht zwingend gelöscht. Die Engine merkt irgendwann, dass das Widget nicht mehr gebraucht wird und gibt das Memory wieder frei durch den Garbage Collector. Wenn es sofort löschen willst musst du das selber machen.


    Das es jetzt bei dir doppelt angezeigt und nicht entfernbar ist klingt danach, dass du im Multiplayer Modus bist und dann auf dem Listen Server das Ding zweimal erstellst (durch Begin Play Play) und hinzufügst. Ist jetzt nur ein Wild Guess, kann das sein?


    Gruss