とりあえずパーティクル描画でできるみたいなのでやってみました
プログラムではAキーを押すと1つのパーティクル、Sキーを押すと16個のパーティクルでできた爆発効果みたいなものがでます
(参考にしたのはサンプルの3D_NPR_Particleです)
たぶん重要な部分は
- 擬似ボリュームパーティクルにする
- ソフトパーティクルにする
- パーティクルは回転・拡大・透明化させながら描画
- いっぱいパーティクルを描画してごまかす
だと思います
擬似ボリュームパーティクル・ソフトパーティクルについては2Dの板を描くときのテクニックのひとつみたいです
- 擬似ボリュームパーティクルにする
- ソフトパーティクルにする
これは、Renderer::Irender::CreateParticleの引数として指定できます
bomb.cpp/CSingleBombEffect::Initialize
m_pParticle=pRender->CreateParticle(100,m_pTexture,PARTICLE_TYPE_VOLUME,true);
if(m_pParticle==NULL){return false;}
これはRenderer::Object::IParticle::DrawRotate関数をつかうと便利です
bomb.cpp/CSingleBombEffect::Draw
m_pParticle
->DrawRotate(m_Bomb
.Pos,Math
::Point2DF(m_Bomb
.RadianNow
,m_Bomb
.RadianNow
), Math::Rect2DI(0,0,64,64),CColor(255,255,255,m_Bomb.AlphaNow),DEG_TO_ANGLE(m_Bomb.AngleNow));
最終更新:2009年06月14日 06:00