Unityの基本機能の一つ、パーティクルシステムを使って
打ち上げ花火を作成します。
今回は最低限の「ヒュルルル」「パーン」を実装してみます。
[Unity5.5対応]部分を追記しています。
- CreateEmptyで空のGameObjectを作成し、
AddComponentで
Effects>ParticleSystemを選択します。
- この時点で花火の「パーン」っぽいものが表示されます。
[Unity5.5]では初期マテリアルがNoneになっているのでDefaultーParticleをセットします。
- ParticleSystemのパラメータをいくつか変更してみます。
Duration
エフェクトの生成期間です。
「パーン」は生成期間としては一瞬なので0を指定してみます。
0を入れても0.10になりました。最低生成時間は0.10のようです。
Looping
エフェクトが繰り返すかどうかの指定です。
「パーン」は繰り返さないのでオフにします。
Emission
パーティクル(エフェクトの粒)発生設定です。
Rate
1秒あたりのパーティクル発生数です。
とりあえず100にしてみます。
- ParticleSystemをAddしたGameObjectを選択すると
Scene上にParticleEffectのウインドウが表示されます。
Stopを押してエフェクトを止めてからSimulateを押すと
「パーン」が表示されます。
ただ、この時点ではパーティクルが10個くらいしか出ていません。
これは、生成期間0.1秒を指定しているため、
1秒間に表示される数の1/10しか生成されないためです。
また、内部的には一度に10個表示されているのではなく、
0.01秒で1つずつ連続的に生成されています。
- ここでBurstsの横の+を押して、
Time0.00、Partickles100と入力します。
- もう一度SceneでSimulateを押すと、今度は100個のパーティクルが
一気に出るようになりました。
[Unity5.5]ではTrailを使用してより花火っぽい感じを出すことができます。
・PerticleSystemプロパティの右端にある小さな+をクリックし、Trailsを追加します。
・Trailsも初期マテリアルがNoneになっているので、こちらもDefault-Particleを追加します。
ただ、Scene上でよく見るとエフェクトは一方向にひろがっています。
- ここでShapeを開き、中のShapeをCone->Sphereに変更します。
もう一度SceneでSimulateを押すと、今度は100個のパーティクルが
球面状に出るようになりました。
ただ、生成されたエフェクトが最後にパッと消えるのが少し不自然です。
そこで、ColorOverLifeTimeにチェックを入れます。
ColorOverLifeTimeを開き、Color設定バーをクリックします。
- GradientEditorが開くので、カラーゲージの上部をクリックして
中間あたりにアルファ(透明度)のキーポイントを作成し、
一番右側のキーポイントのアルファを0にします。
これでふわっと消えるようになりました。
ひとまずGameObject名をexplosion等に替えておきます。
[Unity5.5]Trailだけ表示したい場合はRenderModeをNoneにします。
Trailsプロパティ内にもLifeTime(ベースのLifeTimeを1としたときの割合)、Color over Lifetime等の項目があるので調整しつつセットします。
続いて「パーン」の前の「ヒュルルル」を作ります。
CreateEmptyでもう一つ空のGameObjectを作成し、
名前をseed等にしておきます。
ParticleSystemのパラメータをいくつか変更します。
Dulation0.10
LoopingOff
StartLifeTime2
Emission>Rate1
Emission>Bursts>Time0,Particles1
これでパーティクルが1つ発生しますが、移動方向が奥方向です。
なのでTransform>Rotation>Xを-90にして上向きに移動するようにします。
ここでSubEmittersにチェックを入れ、Deathの右側の◎しるしをチェックします。
先ほど作成したexplosionを選択すると、
「ヒュルルル」が消滅したときに「パーン」が表示されるようになります。
※このときエフェクトの親子関係をつけるか聞かれます。
YESを選択すると親子関係があることが分かりやすくなります。
以上で、「ヒュルルル」「パーン」の基礎ができました。
色やタイミングを調整して完成です。
[Unity5.5]カメラにImageEffectをアタッチすることで、よりきれいに見せることができます。
・Assets > Import Package > Effects をインポートします。
・カメラを選択しAdd Component > Image Effects > 好きなエフェクトを選びます。たとえば、
・Bloom and Glow > Bloom を追加すると、画面にきれいなブルームがかかります。
・Color collection curve を追加すると、画面が締まった感じになります。
[Unity5.5]見本動画
花火に音をつけるにはこちら