演出がゲームになければ、ユーザーは驚かない!!
ゲームを作る私たちは
「プログラムの~ができたからみて!」
「ここの透過の~が凄いでしょ!」
などプレイするユーザーのほどんどは
まtttttttttたく気にしません
ユーザーは見た目と面白さを要求します。
客観的に見て、今作っているゲーム、これから作るゲームの見た目がどうなのか
一度振り返ってみましょう。
まずパーティクルとはどのようなものなのか。
このようにランダムに粒子をばらまいて、火、煙、雲などを表現するものです。
表現方法を応用したら無限大の可能性があると思います。
本題に入る前に、前回の三角関数の基本を見ていない人は、
ここを見てください。
エフェクトのパーティクルはとても簡単です。
なので「時間がないから見た目はいいかな、、、」は許されません。
それでは、さっそく作っていきましょう。
まず、このような処理をします。

SetEffect関数はエフェクトを生成する関数だと思ってください。
これに関しては、特に何も考えることなく実行することができます。

しかし、この式は2つ問題点があります。
- エフェクトが1つしかないこと
- エフェクトを大量発生させたときに四角になってしまうこと
まず1つめを解決しましょう。

こうなりますが、発生数フレーム後の実行結果はこうです。

これを解決するには前回の三角関数の基本の円を利用しましょう。
まず、角度を-3.14 ~ 3.14を取る式を作りましょう。

訂正:fAngle = float(rand()%314)/100.0f - float(rand()%314)/100.0f;(0~3.14から0~3.14を引く)
訂正理由:0になっちゃうよ!!
発生数フレーム後の実行結果がこちら

綺麗な円状に出ましたか?
以上がエフェクトパーティクルです。
しかし、エフェクトはこれだけでは終わりません。
発生後どう処理(色合い、透過、拡大縮小、重力...)するかでさらに表現の幅が広がります。
言いたいのは見た目に力を入れれば、損はない(むしろ得)ということです。
その中で、デザイン力有無 関わらずだれでも表現できるのはエフェクトなんです。
次「エフェクト応用」
コメント
最新を表示する
>> 返信元
この記事はDirectX9を利用しているのでDirectXをインストールして
#include <d3dx9.h>
をインクルードしてください。
D3DXVECTOR3が定義されない場合 どのようにすればよいでしょうか
NG表示方式
NGID一覧