OpenGLパーティクルエフェクトに次の設定を使用します。
SRC: GL_SRC_ALPHA
DST: GL_ONE
添加剤ブレンドを作成します。黒の背景では壮観に見えますが、白にフェードし始めると、明るい色ではひどく見えます。
次に、アルファブレンディングを使用しました。
SRC: GL_SRC_ALPHA
DST: GL_ONE_MINUS_SRC_ALPHA
これにより、粒子の色に影響を与えることなく他の背景を使用できますが、粒子自体は添加剤ブレンドと比較して鈍く見えます。アルファブレンディングとパーティクルを使用して、どのように優れた火災効果を達成できますか?
添加剤:
アルファ:
更新:
以下のDavidのアドバイスに従って、個別のテクスチャを作成し、テクスチャに描画する前にパーティクルエフェクトに加算ブレンドを使用しました。それに伴う問題は、alpha = 0のテクスチャに描画すると、通常は代わりに黒い背景があるため、パーティクルの色付きの部分が世界地図の前に表示されることです。トリックは、2つのテクスチャを使用することでした。黒いテクスチャを作成し、その上に粒子を描きました。次に、このテクスチャからパーティクルのアルファレイヤーを削除し、周囲のすべてのソリッドブラックを効果的に削除し、部分的に表示されているパーティクルをフェードアウトさせます。要するに、厳しいプロセスですが、最終的にそこに着きました:
プロセスを投稿したスレッドは次のとおりです。http://www.cocos2d-iphone.org/forum/topic/28707?replies = 8#post-141528