Verwenden Sie die folgende Einstellung für den OpenGL-Partikeleffekt:
SRC: GL_SRC_ALPHA
DST: GL_ONE
Erzeugt eine additive Mischung, die auf einem schwarzen Hintergrund spektakulär aussieht, auf helleren Farben jedoch furchtbar ist, da sie allmählich in Weiß übergeht.
Ich habe dann Alpha Blending verwendet:
SRC: GL_SRC_ALPHA
DST: GL_ONE_MINUS_SRC_ALPHA
Auf diese Weise können andere Hintergründe verwendet werden, ohne die Farbe der Partikel zu beeinträchtigen. Die Partikel selbst sehen jedoch im Vergleich zur Additivmischung matt aus. Wie kann ich mit Alpha Blending und Partikeln einen guten Feuereffekt erzielen?
Zusatzstoff:
Alpha:
AKTUALISIEREN:
Nach Davids Ratschlägen erstellte ich eine separate Textur und verwendete dann eine additive Mischung für den Partikeleffekt, bevor ich auf die Textur zeichnete. Das Problem dabei ist, dass beim Zeichnen auf eine Alpha = 0-Textur nur die farbigen Teile des Partikels vor meiner Weltkarte angezeigt wurden, da Sie normalerweise einen schwarzen Hintergrund haben. Der Trick bestand darin, zwei Texturen zu verwenden. Ich habe eine schwarze Textur erstellt und dann die Partikel darauf gezeichnet. Dann entfernte ich die Alpha-Schicht der Partikel von dieser Textur, entfernte effektiv das gesamte umgebende Vollschwarz und verblasste die teilweise sichtbaren Partikel, während das darunterliegende Schwarz so zurückblieb, wie Sie es erwarten würden, wenn additive Mischpartikel auf einem schwarzen Hintergrund erzeugt würden. Kurz gesagt, ein anstrengender Prozess, aber irgendwann habe ich es geschafft:
Hier ist der Thread, in dem ich meinen Prozess gepostet habe: http://www.cocos2d-iphone.org/forum/topic/28707?replies=8#post-141528