49
47

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Unity ParticleSystemで打ち上げ花火(Unity5.5対応)

Last updated at Posted at 2015-01-25

Unityの基本機能の一つ、パーティクルシステムを使って
打ち上げ花火を作成します。
今回は最低限の「ヒュルルル」「パーン」を実装してみます。


[Unity5.5対応]部分を追記しています。


  • CreateEmptyで空のGameObjectを作成し、
    AddComponentで
    Effects>ParticleSystemを選択します。

001.png

  • この時点で花火の「パーン」っぽいものが表示されます。

[Unity5.5]では初期マテリアルがNoneになっているのでDefaultーParticleをセットします。
ss1.png

ss2.png


002.png

  • ParticleSystemのパラメータをいくつか変更してみます。

Duration
エフェクトの生成期間です。
「パーン」は生成期間としては一瞬なので0を指定してみます。
0を入れても0.10になりました。最低生成時間は0.10のようです。

Looping
エフェクトが繰り返すかどうかの指定です。
「パーン」は繰り返さないのでオフにします。

003.png

Emission
パーティクル(エフェクトの粒)発生設定です。
Rate
1秒あたりのパーティクル発生数です。
とりあえず100にしてみます。

004.png

  • ParticleSystemをAddしたGameObjectを選択すると
    Scene上にParticleEffectのウインドウが表示されます。
    Stopを押してエフェクトを止めてからSimulateを押すと
    「パーン」が表示されます。

3_2.png

ただ、この時点ではパーティクルが10個くらいしか出ていません。
これは、生成期間0.1秒を指定しているため、
1秒間に表示される数の1/10しか生成されないためです。
また、内部的には一度に10個表示されているのではなく、
0.01秒で1つずつ連続的に生成されています。

  • ここでBurstsの横の+を押して、
    Time0.00、Partickles100と入力します。

004.png

  • もう一度SceneでSimulateを押すと、今度は100個のパーティクルが
    一気に出るようになりました。

[Unity5.5]ではTrailを使用してより花火っぽい感じを出すことができます。

・PerticleSystemプロパティの右端にある小さな+をクリックし、Trailsを追加します。
2016-12-05_155935.jpg

・Trailsも初期マテリアルがNoneになっているので、こちらもDefault-Particleを追加します。
2016-12-05_160333.jpg


ただ、Scene上でよく見るとエフェクトは一方向にひろがっています。

005.png

  • ここでShapeを開き、中のShapeをCone->Sphereに変更します。
    もう一度SceneでSimulateを押すと、今度は100個のパーティクルが
    球面状に出るようになりました。

ただ、生成されたエフェクトが最後にパッと消えるのが少し不自然です。

そこで、ColorOverLifeTimeにチェックを入れます。

ColorOverLifeTimeを開き、Color設定バーをクリックします。
006.png

  • GradientEditorが開くので、カラーゲージの上部をクリックして
    中間あたりにアルファ(透明度)のキーポイントを作成し、
    一番右側のキーポイントのアルファを0にします。
    これでふわっと消えるようになりました。
    ひとまずGameObject名をexplosion等に替えておきます。

[Unity5.5]Trailだけ表示したい場合はRenderModeをNoneにします。

2016-12-05_160628.jpg

2016-12-05_160703.jpg

Trailsプロパティ内にもLifeTime(ベースのLifeTimeを1としたときの割合)、Color over Lifetime等の項目があるので調整しつつセットします。

2016-12-05_161201.jpg

2016-12-05_161733.jpg


続いて「パーン」の前の「ヒュルルル」を作ります。
CreateEmptyでもう一つ空のGameObjectを作成し、
名前をseed等にしておきます。

ParticleSystemのパラメータをいくつか変更します。
Dulation0.10
LoopingOff
StartLifeTime2
Emission>Rate1
Emission>Bursts>Time0,Particles1

これでパーティクルが1つ発生しますが、移動方向が奥方向です。
なのでTransform>Rotation>Xを-90にして上向きに移動するようにします。

007.png

ここでSubEmittersにチェックを入れ、Deathの右側の◎しるしをチェックします。
先ほど作成したexplosionを選択すると、
「ヒュルルル」が消滅したときに「パーン」が表示されるようになります。

008.png

※このときエフェクトの親子関係をつけるか聞かれます。
YESを選択すると親子関係があることが分かりやすくなります。

009.png

010.png

以上で、「ヒュルルル」「パーン」の基礎ができました。


色やタイミングを調整して完成です。


[Unity5.5]カメラにImageEffectをアタッチすることで、よりきれいに見せることができます。

・Assets > Import Package > Effects をインポートします。
2016-12-05_162155.jpg

・カメラを選択しAdd Component > Image Effects > 好きなエフェクトを選びます。たとえば、
・Bloom and Glow > Bloom を追加すると、画面にきれいなブルームがかかります。
・Color collection curve を追加すると、画面が締まった感じになります。
2016-12-05_162801.jpg
2016-12-05_163108.jpg


[Unity5.5]見本動画
2016-12-05_164030.png


見本動画
012.png


花火に音をつけるにはこちら

49
47
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
49
47

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?