Partikel stoppt sobald nicht in Viewport

  • Hey,
    ich fange einen Partikel mit einer SceneCapture2D in einem Actor ein, den ich im Level platziert habe.
    Jetzt ist es so, dass das ParticleSystem eingefroren ist, wenn es nicht im Viewport ist.
    Genau das möchte ich aber, dass der Partikel spielt - auch wenn er nicht im Viewport ist.


    Ich habe bereits versucht: Im Cascade selber, "Fix Bounding Box" und dann sehr hohe +/- Werte verwendet (um die Distanz zu erhöhen) - Ohne Ergebnis, der Particle spielt sich einfach nicht ab at Runtime.
    Habe versucht manuell zu aktivieren, habe mir On Activated Events ausprinten lassen, habe versucht mit weiteren LOD Settings zu spielen, hat alles nichts gebracht.


    Frage: Kann man einstellen, dass der Partikel nicht stoppt sobald er nicht im Viewport ist? Wenn ja wo?


    Danke im Voraus :thumbsup:

  • Ich bin jetzt nicht der beste aber ich weiß das GPUParticle Systeme nicht abgespielt werden wenn du nicht hinschaust
    und CPU Particle immer abgespielt werden aber da bin ich mir nicht so sicher.


    Probier das evtl mal aus :huh:

    Danke, aber in dem Fall sind keine GPU Sprites verwendet.

  • Frage: Kann man einstellen, dass der Partikel nicht stoppt sobald er nicht im Viewport ist? Wenn ja wo?

    Das könnte mehre Ursachen habe ich weiß dass es in den Partikeleinstellungen irgend ein Menüpunkt oder Haken gab wo man das einstellen konnte das die Partikeleffekte dauerhaft laufen.
    Vermutlich werden die aber auch durch das Culling ausgeblendet auch daran könnte das liegen.


    Aber ich kann dir das jetzt auswendig auch nicht sagen, wenn dir das keiner aus dem Standheraus beantworten kann würde ich das in den Partikelsettings nachlesen.


    https://docs.unrealengine.com/…Rendering/ParticleSystems

  • Nicht direkt. Ich habe einen Actor der als "Videorekorder" dient. In dem Actor befinden sich 1. Ein Partikel, 2. Eine Kamera, 3. Ein SceneCapture2D.


    Das SceneCapture Component füttert eine RenderTarget Textur mit dem Partikel und daraus entsteht dann eine UI Textur.


    Ich platziere den Actor im Level und dann läuft das at Runtime für gewöhnlich (Der Partikel wird eingefangen und im Widget ausgespuckt).


    In anderen Projekten funktioniert es ja auch, ich hab das schon öfters gemacht und normalerweise klärt die Fixed Bounding Box das problem, aber diesmal komischerweise nicht.



    Was meinst du mit "Allen Partikel Systemen" ?


    Ich habe mehrere Partikelsysteme erstellt um es zu testen, sogar aus externen Projekten (wo genau das funktioniert) Partikel rüber migriert, und bei allen das selbe Ergebnis:


    Es freezt und spielt nicht ab. Es wird ganz normal abgespielt wenn es im Viewport zu sehen ist, aber sobald ein Widget created wird und zum Viewport geadded wird, stoppt der Partikel und friert ein.

  • Du könntest deine Particle-Bounds mal überprüfen, indem du im Editor Viewport Show->Advanced->Bounds[x] benutzt. Vielleicht sind 500000 ja garnicht so groß, wie du denkst


    Ansonsten könntest du vielleicht in den Particle-Settings unter der Bounding Box noch die Occlusion auf None stellen. (wobei es ziemlich unlogisch ist, wenn die Bounding Box so groß ist, sollte sie ja alles einschließen)



    Ich habe mehrere Partikelsysteme erstellt um es zu testen, sogar aus externen Projekten (wo genau das funktioniert) Partikel rüber migriert, und bei allen das selbe Ergebnis:


    Es freezt und spielt nicht ab. Es wird ganz normal abgespielt wenn es im Viewport zu sehen ist, aber sobald ein Widget created wird und zum Viewport geadded wird, stoppt der Partikel und friert ein.

    Also die Partikel sind im Spiel zu sehen, und wenn du ein Widget, dessen Material die Render Texture der Cam benutzt zum Viewport hinzufügt, friert der Partikel ein? ô.O Das ist äußerst merkwürdig, weil das RenderTarget ja komplett unabhängig vom Partikelsystem funktioniert. Gibt es irgendwas, was das Partikelsystem deaktiviert oder so in dem Blueprint?


    Oder ist es nur komisch ausgedrückt und ist es so, dass die Partikel einfrieren, sobald du mit deiner Kamera wegschaust, und das RenderTarget dient quasi nur als Überprüfung, ob es auch einfriert. Es kann gut sein, dass die Particle-Bounds nur bei der normalen cam funktionieren, und nicht bei dem SceneCaptureComponent.


    Funktioniert denn auch dein SceneCapture richtig, updated es, sind die Materialeinstellungen für UI richtig?


    Ich denke es wird daran liegen, und nicht an den Partikeln, wenn du wie gesagt schon Sachen migriert hast, die auf jedenfall funktioniert haben ;)