Infinite Stardust oder Starfield

  • Hallo Leute,


    ich frage mich, wie man wohl Staub im Weltall darstellt, den man immer und überall homogen im Universum sehen kann.
    Ich weiß, dass man dafür das Particle System benutzt aber dieses hat eine begrenzte Größe, wie mir scheint Bzw. kann man nur eine bestimmte Anzahl an Partikeln spawnen lassen.
    Die Partikel müssen im Prinzip nichts können außer einfach überall und rendom da zu sein und still zu stehen.


    Eine Anleitung dafür habe ich noch nicht gefunden.


    Beispiele dafür wären die X-Spiele aus dem Hause Egosoft. Da sieht man ständig Partikel am Schiff vorbei fliegen.
    Oder in diesem Unity Tutorial. (Ich glaube, dass man da ähnlich in der UE4 vorgehen muss, weiß aber nicht, wie.)

    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.


    Oder löst man so etwas sogar mit einem Blueprint-System?
    Oder weiß jemand, ob man das irgendwo herbekommt? Frei oder gegen Bezahlung, das wäre mir egal.
    Vielleicht mag mir auch einer aus dem Forum dabei helfen? Die Arbeit würde ich mich auch etwas kosten lassen. Sollte ja fix zusammengebaut sein.


    Danke schon mal an alle Interessenten und liebe Grüße,


    GameMaker ^^

  • Hi GameMaker,


    also ich habe mich ja auch schon mit Stardust versucht.
    Zunächst musst du die Partikelberechnung von CPU auf die GPU umstellen, per CPU hat man da eine sehr begrenzte Anzahl.


    Die Umstellung kannst du im TypeData des Particle Effects umstellen, hier kommen dann aber einige Einschränkungen hinzu.
    In diesem Video wird das gut erklärt:

    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 es dann so probiert das die Partikel nicht im ganzen Weltraum sind, das wäre ja auch ziemlich extrem sondern nur in einer Sphere um das Raumschiff.
    Man kann aber nun hier jetzt nicht einfach die Partikel mitfliegen lassen da sie sich dann ja nicht bewegen würden.


    Daher gibt es eine Methode das Partikel neu gespawned werden wenn sich der Charakter bewegt.
    Das bedeutet also , es werden Partikel gespawned und wenn du dich nach vorne Bewegst werden kurz bevor du aus der Partikelblase fliegst wieder Partikel im Umkreis erzeugt. So hast du in der Bewegung immer Partikel um dich herum.


    Auf den ersten Blick feine Sache.
    Hier habe ich dann erst mal abgebrochen und mich um wichtigere Sachen gekümmert da es 2 Probleme gab.


    1. Wenn man sich einfach dreht ohne sich zu bewegen wird das als Bewegung gewertet, auf diese Art werden es immer mehr Parikel wenn man sich einfach nur im Kreis dreht.
    2. Ich hatte das Gefühl das man das Spawnen nach Entfernung schlecht dosieren kann, je nachdem wie schnell oder langsam man fliegt sieht es so aus als ob die Dichte zunimmt oder abnimmt.
    3. Ist es so das erst wieder neue Partikel gesetzt werden wenn die alten verschwunden sind, also die Anzahl ist definiert. ist die Lifetime der Partikel zu hoch kommt kaum was nach, ist sie zu gering dann sieht es nicht aus wie Dust sondern wie Glitzerregen.


    Man muss denke ich mal hier noch etwas tüfteln denn mit diesen Einstellungen wird der Stardust zum Speicherfresser oder sieht nach nichts aus. Ich gehe aber davon aus das man mit diesen Methoden sehr nah dran ist Stardust darzustellen.


    Wenn du eine Lösung hast dann halte mich auf den laufenden, würde mich freuen.

  • Mit @STRIKEBACK habe ich deinen Lösungsanstaz auch schon probiert und ich war überhaupt nicht zufrieden :D
    Ich habe zwar keine Lösung aber eine andere Theorie - Ich hab das mal ganz professionell aufgemalt!


    Der schwarze Pfeil ist mein Raumschiff (Davon soll aber logischerweise eher die Kamera angesprochen werden, statt des Schiffes). Um das Raumschiff herum Spawnen unsichtbare Boxen mit vorgebauten Billboards, die aber in einer gewissen maximalen und minimalen Distanz ein- und ausfaden. Quasi nur ein simples Static Mesh mit ein paar fixen Planes mit Billboard als Material + ein- und ausfade-Funktion. Man hat also vor sich eine Box, in sich selber eine und hinter sich eine. Passiert man nun die Box, die sich auf einen zu bewegt, spawnt vor der ersten eine weitere und die hintere, letzte Box despawnt. Das ganze kann man ähnlich wie bei Minecraft betrachten, wenn es regnet. Da Spawnen ja auch Boxen um den Character herum mit einer animierten Regen Textur. Diese paar Boxen bewegen sich mit dem Character Dynamisch mit. Find ich lustig, denn wenn man den Character von außen betrachtet, dann sieht man die paar Regenboxen um den Character herum und die restliche Umgebung bleibt furztrocken :D


    Hoffentlich versteht man meinen Ansatz :D


    ---------------------------------------------------------------------------------------------------------------------------------------------------------


    EDIT: Das ein- und ausfade Material Steht schon mal. Jetzt kommt die Billboard Funktion.