中心からパーティクルがバーーー!!!

この記事はEffekseer Advent Calender 2015の1日目です。

Effekseerによるエフェクトの基本といえば、パーティクルですね。大量の粒とか星とかを中心からバーーーー!!!と広げてやれば、とりあえずエフェクトの体裁を得ることができます。というわけで、今回はEffekseerのUIをとりあえず把握したくらいの知識を前提にして、パーティクルを中心からバーーーー!!!とやる方法についてお話します。

要点

「生成位置」の「球」を設定すると良い。けど、他の方法もあるのでそっちから紹介します

最初の設定

Effekseerを起動すると、「ノードツリー」のところに2つのノードがあるのですが、今回は「Root」ではない方をパーティクル用のノードとして使うことにしましょう。ノードをクリックで選択して、「描画共通」ウィンドウの「色/歪み画像」のところにある「読込」ボタンでパーティクル用の粒の画像を読み込みます。今回はEffekseerのサンプルのテクスチャを使うことにします。今回使うテクスチャは Sample/00_Basic/Texture/Particle01.png にある以下の様な画像です。

Particle01

このテクスチャは加算合成用のものなので、同じく描画共通ウィンドウの「ブレンド」の項目のコンボボックスで「加算」を指定しておきましょう。

速度を使う

最初の設定ができたエフェクトを再生してみると、画面の中心に粒が出ると思います。つまり最初からパーティクルは中央に配置してあるわけで、あとはこいつを周囲に動かせばいいわけです。こういうときは「位置」ウィンドウを操作します。上部のコンボボックスに「位置」が指定してあると思うので、これを「位置・速度・加速度」に変更します。すると位置・速度・加速度をxyzそれぞれに設定できるUIが出てくるので、「速度」の「x」の「中心」を0.1に設定し、エフェクトを再生してみましょう。

setting1

effect5

動きはしましたが……。そういえば粒が1つしか出てないですね。粒をたくさん出したいときは、「共通」ウィンドウの「生成数」を変更します。豪快に128個くらいにしてしまいましょう。変更できたらまた再生してみます。

effect6

……。すべての粒が同じ向き・速さで動いているので棒のように見えてますね。こういうとき、たくさんの粒が別々の速度で動くようにしたくなります。これを実現するためには、速度の設定で「中心」に値を入れていたのを「振幅」に設定するようにしましょう。中心の値を0, 振幅の値を0.1にしてみます。こうすることでx方向の速さが-0.1から0.1の間で変化するようになります。

effect7

いい感じに粒がバラけてきました。でも直線上にしか粒が動いていませんね。他の向きにも粒が動くように、yとzの振幅も同じように設定しましょう。yとzの振幅も0.1にしてみます。

effect1

どうでしょうか。ちょっと見応えのあるエフェクトになりましたね。速度をいいかんじに変えれば、これだけでも十分ゲームに使えるのではないでしょうか。

イージングを使う

さっき作ったものは少しは綺麗ですが、粒の速さは一定で味気ないようにも見えます。粒の速さに変化をつけることができるとより見応えのあるエフェクトになります。今回は「だんだん遅くなって最後は球状に集まる」感じにしてみましょう。下のようなイメージです。
effect4

速さに変化をつけるは加速度を設定するのも有効ですが、速さと加速度を同じ向きにするのが難しいなどの理由から、だんだん遅くなって止まる、みたいな動きを実現するには「イージング」のほうが適しています。イージングは、スタート地点とゴール地点を指定して動かすことの出来る機能です。始点速度と終点速度を設定することで速度になめらかな変化を出すこともできます。それでは、位置ウィンドウの上部のコンボボックスで「イージング」を選んでみましょう。すると「始点」「終点」にそれぞれxyzの中心と振幅を指定できるようになります。始点は中心でよいのでいじらず、試しに終点のxyzそれぞれの振幅を5に設定してみましょう。

実際に再生してみると分かるのですが、これだけだと速度がなめらかに変化している感じはしないですね。そこで活躍するのが「始点速度」「終点速度」です。だんだん遅くなる感じにするために、始点速度を「高速3」に、終点速度を「低速3」にしてみましょう。

effect2

動きのない画像では分かりにくいですが、球?の表面に向かって粒が減速し、表面に集まっていく動きが見られると思います。

ところが、このエフェクト……

effect2-2

なんか……四角い……?ビュワーで回転させてみるとより分かりやすいのですが、球というより立方体みたいな感じになっています。考えてみれば、xyzの最小・最大が(-5,-5,-5)から(5,5,5)になっているので、球状になるはずがないですね。さて、どうしたものか……と、ここで出てくるのが「生成位置」です。

「生成位置」を使おう

次のステップに向けて、パーティクルの動きを消してしまいましょう。イージングの終点の値をすべて0にしてしまいます。

ここからが本題です。パーティクルを球状に配置したい!そんなときに活躍するのが「生成位置」ウィンドウです。デフォルトでは非表示のウィンドウなので、「ウィンドウ>生成位置」を選択してウィンドウを表示しましょう。そしたら、まずは「点」が指定されているコンボボックスから「球」を選んでみてください。

setting2

半径、X軸角度、Y軸角度を設定できるようになります。半径を3くらい、X軸角度とY軸角度を180にすると、とりあえずパーティクルが球状に配置されます。

effect8

さて、これを外側に向かって動かしましょう。位置ウィンドウをいじれば良さそうですが、x,y,zのどれが「外側方向」なのでしょうか……。とりあえずyの中心の値を5にしてみましょう。

effect9

ダメでした……。すべての粒が上方向に動いてしまいます。どうやら生成された球状の位置に応じて動く向きを変えないといけないようです。そこで使えるのが生成位置ウィンドウの「生成角度に影響」チェックボックスです。ここにチェックを入れて再生して見てください。

effect10

お見事!無事に外側に向かって動き、球の表面上に集まるパーティクルを表現できました。「生成角度に影響」にチェックを入れると、y方向が球の表面-中心の方向(法線方向といいます)になるわけです。あとはパーティクルが中心から出ればいいので、生成位置ウィンドウで半径を0に設定します。

effect4

中心からパーティクルがバーーーー!!!やったぜ。

Effekseer Advent Calenderですが、明日の担当は決まっていないようです。明後日はうえしたさんが記事を書くようなので、お楽しみに。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です