In UE4 führt das Problem der Verwendung des Partikelsystems zum Zeichnen von Flugbahnen zu einer Verringerung der Systemflüssigkeit.

In UE4 führt das Problem der Verwendung des Partikelsystems zum Zeichnen von Flugbahnen zu einer Verringerung der Systemflüssigkeit.

Vorwort

Bei der Verwendung von Partikelsystemen zur Realisierung der Flugbahndarstellung stellte sich die Frage: „Wird die Erzeugung von Partikeln nach der Partikelakkumulation Druck auf den Speicher des Systems ausüben, was dazu führt, dass das System immer schwieriger läuft?“ Die damalige Lösung war einfach. Reduzieren Sie die Häufigkeit der Partikelerzeugung und verringern Sie dadurch den Betriebsdruck des Systems. Dieser Artikel konzentriert sich auf dieses Problem, um eine Reihe verwandter Themen zur Verwendung von Partikelsystemen zur Darstellung der Objektbahn darzustellen.

Die Links zu den beiden vorherigen Artikeln lauten wie folgt:

Unreal Engine 4 verwendet Partikelsysteme, um die Objektbahn darzustellen. Blog-CSDN-Blog von ADi_hhh

Unreal Engine 4 verwendet ein Partikelsystem, um die Beschreibung der Objekttrajektorie zu realisieren. 2-eliminate trajectory_ADi_hhhs Blog-CSDN-Blog

Der Grund, diese Frage erneut zu beantworten, besteht darin, dass ich in der Simulation mehr Partikelemitter verwendet habe, um Partikel zu erzeugen und die Flugbahn des Objekts anzuzeigen. Aber ich stellte fest, dass eine einfache Verzögerung meinen Anforderungen nicht mehr genügen konnte – die Flugbahn klar zu sehen und den Druck auf das Simulationssystem so weit wie möglich zu reduzieren. Daher wurden einige Hypothesen aufgestellt und überprüft, welche Aspekte des Partikelsystems die Glätte des Simulationssystems beeinflussen.

Hypothese und Überprüfung

1. Zu viele Partikelemitter beeinträchtigen das Simulationssystem

Erstens erzeugen wir während des Partikelerzeugungsprozesses ständig Emitter. Dies könnte in UE ein dummer Ansatz sein. Nach meinem damaligen Verständnis der Unreal Engine konnten Partikel jedoch nur auf diese Weise erzeugt werden. Daher haben wir natürlich auch viele „Partikelemitter“ generiert und werden diese Partikelemitter später nicht verwenden, sodass möglicherweise zu viele Partikelemitter vorhanden sind, was sich auf die Glätte des Simulationssystems auswirkt.

Einsatz von Partikelemitter

verifizieren:

Daher zerstöre ich den entsprechenden Partikelemitter nach einer gewissen Zeit nach der Erzeugung jedes Partikels, um den Einfluss des Partikelemitters auf die Glätte des Simulationssystems zu verringern.

Partikelemitter aktiv zerstören

Wir sollten aber auch beachten, dass der Partikelemitter ursprünglich über eine Einstellung für „automatische Zerstörung“ verfügt. Daher änderte sich die Fluidität des Systems nicht wesentlich, nachdem ich den Partikelemitter aktiv zerstört hatte.

2. Es sind zu viele Partikel vorhanden. Reduzieren Sie die Partikelemissionsfrequenz und erhöhen Sie den Anzeigebereich der Partikel.

Offensichtlich werden mit der Zeit immer mehr Partikel produziert, daher muss die Anzahl der Partikel ein Faktor für die Glätte des Systems sein. Da ich aber die Flugbahn klar sehen möchte, darf die Anzahl der Teilchen bis zu einem gewissen Grad nicht zu klein sein. Was aber, wenn ich den Anzeigebereich der Partikel vergrößere und gleichzeitig die Partikelemissionsfrequenz verringere?

Dabei kann der Partikelemitter den Bereich der Partikelanzeige festlegen, wie in der Abbildung unten dargestellt.

verifizieren:

Durch Erhöhen der Verzögerungszeit erhöht sich auch die „Reichweite“ des erzeugten Effekts.

Nach dem Test hat sich die Fließfähigkeit des Systems verbessert, aber aufgrund der geringeren Partikelanzahl ist der Anzeigeeffekt der Flugbahn nicht gut, sodass dies keine gute Methode ist.

3. Es wird zu viel Zeit mit der Ausgabe von Informationen auf dem Bildschirm verschwendet, was zu einer schlechten Systemflüssigkeit führt.

Denn der Py-Code, den ich in der Simulation verwende, berechnet die Steuerinformationen und druckt sie für meine Debugging-Zwecke aus, aber der Ausdruck von Py ist Zeitverschwendung.

Daher kann es daran liegen, dass ich auf der Py-Seite den Druck ausgebe und auf der Ue-Seite Informationen an den Simulationsprozess ausgebe, was Zeit verschwendet und dazu führt, dass in einem solchen Prozess viel Zeit aufgewendet wird, was natürlich die Systemflüssigkeit verschlechtert.

verifizieren:

Daher habe ich versucht, die Informationsausgabe auf der Py-Seite und der Ue-Seite so weit wie möglich zu reduzieren. Nach dem Testen hat sich die Fließfähigkeit des Systems verbessert, aber nicht viel.

4. Die daraus resultierende Partikelwiedergabe übt einen zunehmenden Druck auf das System aus, was zu einer Verringerung der Sprachkompetenz führt.

Weil ich mehrere Partikel verwende, die mit dem Anfängerinhalt geliefert werden, wie im Bild unten gezeigt.

Mehrere Arten von Partikeln

Diese Partikel müssen möglicherweise gerendert werden und werden kontinuierlich erzeugt, was zu einer Verschlechterung der Systemleistung führt.

verifizieren:

Nach ständiger Änderung der Partikeltypen wurde festgestellt, dass die „P_Fire“-Partikel die Fließfähigkeit des Systems erheblich beeinträchtigten. Das System muss möglicherweise mehr Ressourcen für dieses Partikel verbrauchen und es werden immer mehr Partikel erzeugt, was zu a führt Leistungsabfall des Systems. . Gleichzeitig wurde festgestellt, dass sich die Informationen von „P_Fire“ von denen anderer Anfängerpartikel unterscheiden. Dies könnte der Grund dafür sein, dass dieses Partikel mehr Ressourcen verbraucht. Anschließend wurde die Fließfähigkeit des Systems erheblich verbessert, indem der Partikeltyp auf einfache, von mir entworfene Partikel geändert wurde.


Die Feuerpartikel sind tatsächlich realistischer.
Feuerpartikel

Zusammenfassung

Dieser Artikel löst erneut das Problem der Verwendung von Partikelsystemen zum Zeichnen von Flugbahnen, das durch mehrere Annahmen zu einer Verringerung der Systemflüssigkeit führt. Es zeigt jedoch immer noch, dass das Zeichnen der Partikelsystembahn in der Unreal Engine nicht die beste Wahl ist. Ich hoffe, dass mit eingehendem Verständnis in Zukunft eine einfachere und effizientere Methode implementiert werden kann.

Hinweis: Die in diesem Artikel erwähnte Abnahme der Simulationssystemkompetenz bezieht sich auf die Abnahme der Geschwindigkeit, mit der das Simulationssystem Informationen verarbeitet und übermittelt.

Wenn Sie denken, dass mein Schreiben gut ist, geben Sie mir bitte ein kostenloses „Gefällt mir“! Sollte es inhaltliche Fehler geben, können Sie mir gerne Feedback geben.

おすすめ

転載: blog.csdn.net/qq_45830323/article/details/132383858