Bei einem Restart Geräusche laufen lassen

  • Hallo Leute,


    gibt es eine Möglichkeit, wenn man stirbt, den Level automatisch neu zu starten, aber bestimmte Dinge (zum Beispiel Geräusche) weiter laufen zu lassen? Das Blueprint "Open Level" verwende ich zur zeit, aber ich denke, dass ich damit nicht erreiche was ich möchte


    Danke schonmal


    Liebe Grüße

  • Du solltest dir mal einen eigenen GameMode erstellen und es darüber versuchen.

    Ich weiß ja nicht, was für Sounds das sind, aber zum Beispiel Musik solltest du darüber abspielen können, ohne die Sound Volume im Level zu haben.


    Einfach eine Funktion Restart erstellen und dort die Spielerposition oder was auch immer zurücksetzten und den betreffenden Sound über eine andere abspielen lassen.


    Das Level würde ich persönlich nie neuladen, da das in der Regel nur zu unnötigen Ladezeiten führt und ggf. Informationen verloren gehen (alles abhängig natürlich von dem Spiel)

  • Zitat

    Einfach eine Funktion Restart erstellen und dort die Spielerposition oder was auch immer zurücksetzten und den betreffenden Sound über eine andere abspielen lassen.

    Genau das habe ich getan. Doch beim Ableben meines Characters ist dieser einfach verschwunden und nicht am Ursprungsort aufgetaucht. Er war einfach weg.


    Zitat

    Erstell dir doch ein Interface mit dem du jedes BP ein Signal nach ableben deines Character

    Mit Interfaces habe ich mich noch gar nicht beschäftigt. Werde ich wohl irgendwann mal tun müssen :D

  • Genau das habe ich getan. Doch beim Ableben meines Characters ist dieser einfach verschwunden und nicht am Ursprungsort aufgetaucht. Er war einfach weg

    Ich dachte du benutzt Open Level? Ist der Sound nicht im Level?


    Ich hatte es so verstanden, dass du immer das Level neulädst, dann kann er ja nicht weiterlaufen, solange er nicht aus einer persistenten Klasse als Sound2D initiiert wurden.
    Benutzt du denn Spawn Sound Attached (oder wie das gerade genau heißt) oder Spawn Sound at Location?

  • Zitat

    Ich dachte du benutzt Open Level? Ist der Sound nicht im Level?

    Das benutze ich zur Zeit als Notlösung. Sorry etwas umständlich ausgedrückt. Ich benutze zur Zeit "open Level", weil der reset von meinem character nicht funktioniert hatte. Er ist, wie gesagt, eingach weg. Ich denke ich mache was falsch. Die Frage ist nur was? ^^


    Ich benutze "ambient Sound", oder so ähnlich (sitze gerade nicht am Rechner)

    Und der ist direkt im Level blueprint.

    • Offizieller Beitrag

    Versuch mal Level Streaming. Denn wenn du das Level neu ladest, dann ist logischerweise alles weg. Also, unloadstreaminglevel und dann loadstreaminglevel. Ich könnte mir es vorstellen, dass es damit funktioniert. Ich habe nur keine Ahnung, was für Auswirkung das auf dein Charakter hat.


    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.

  • Ich habe in meinem Game Mode beim sterben ein "Reset Level"-Node. Wird der ausgelöst bleibt alles, außer der character, der wird anscheinend zerstört. Ich habe herausgefunden, dass man dann in jedem Blueprint ein "Event OnReset" setzen kann. Was da aber dann dran kommt habe ich keine Ahnung.


    Edit: Das Note "Event OnReset" hat doch keine Auswirkung auf das "Reset Level" - Baustein

  • Ich persönlich hab noch nicht viel mit Sounds in der Engine gemacht. Das ist ja scheinbar auch nochmal ne Sache für sich.


    Aber was ich dir raten kann, wenn es nicht nötig ist, dass der Actor, beim Ableben, gelöscht wird, würde ich den gar nicht zerstören. Sondern lieber irgendwo "Respawnen" (Also einfach Set Location x.x.x und Variablen/Referenzen zurücksetzen) Ist aber wie gesagt abhängig davon, was du vorhast.


    Ich habe nur bei einigen Projekten festgestellt, dass es manchmal einfacher ist die Sterbeanimation/Ragdoll ablaufen zu lassen und dann einen Reset durchzuführen, statt destroy und spawn Actor.


    Was du ebenfalls machen kannst, wäre die Logik für den Restart in der Gameinstanz zu machen. Diese wird nämlich erst gelöscht, wenn du das Spiel beendest.


    Die Frage ist, was soll bleiben, was nicht.


    Beispiel:


    Wenn alle AI-Actor wieder auf Ursprungszustand gebracht werden sollen (Position, Leben, Etc. ) aber geöffnete Kisten sollen geöffnet bleiben. Musst du diese veränderten Werte in einem Savegame oder vorübergehend in der Gameinstanz speichern.


    Dafür würde ich dann OpenLevel als Restart nutzen und dann alle Nicht-Ursprungswerte aus der Gameinstanz oder Savegame rauslesen und werte setzen.


    Oder Eben andersrum. Die Sachen, die bleiben sollen werden nicht verändert, und die Sachen die auf Ursprung sollen, werden dementsprechend behandelt. Dann auch ohne OpenLevel.


    Ich weiß ja nicht was du genau vorhast mit dem Sound. Aber wenn man sich die Spiele so anschaut, wird bei den wenigsten der Sound vom Ingame weiter gespielt, während man das Level neu startet. Höchstens wird eine extra Ladebildschirmmusik abgespielt.


    Ich hoffe ich habe jetzt nicht Zuviel und zu verwirrend geschrieben. Habe leider kaum Zeit, ich bin auf der Arbeit :/