しばらくMacでのObjective-Cの勉強をしていたので、
OpenGLストップしてました。 

というわけで、
「OpenGLで作るAndroidSDKゲームプログラミング」本を読みながら
OpenGLでのゲーム開発を学びます。

今回から3章のパーティクルシステムになります。

パーティクルシステムとは・・・・
煙、炎、霧、爆発など手作業で描こうとすると手間がかかる表現を簡単に行うための技術
パーティクル(粒子)と呼ばれる細かいテクスチャを大量に描画することで、不定形な要素を描画する。

メリット:
手作業では難しい複雑な動きが表現できる

デメリット:
処理に多くのリソースが必要
⇒パーティクルの数が増えると、表示がカクカクしたり入力に対する反応が悪くなる


パーティクルの描画時には、アルファブレンディングを有効にして加算合成します。
やってることは、前回のハエたたきで1つのテクスチャを元に複数のハエを表示したのと同じ要領でやってます。

1つのテクスチャを100個くらいアルファブレンディングで加算合成させて、
大きさ・位置などをランダムに設定して表示してるというわけです。


元のテクスチャ

particle.png

パーティクルシステムで表示

device-2012-06-22-200322.png


GitHub:


いわゆるエフェクト効果ってやつですかね。
これをうまく使えるようになれば、
キャラクターが攻撃されたときとかの動きがいろいろ表現できて面白そうだ。