この記事ではUnityのパーティクルシステムを使って花火の作り方を紹介します。 今回作っていくのは打ち上げ花火では定番の丸く広がるタイプのものです。 このような花火を作っていきます。
サンプル
STYLY GALLERYからサンプル空間を体験できます。
記事で紹介しているUnityプロジェクトのダウンロードはこちらからできます。 Fireworks_Sample
パーティクルシステムを配置する
EffectsからParticle Systemを選んでシーンに配置します。 初期設定の状態ではパーティクルが上の方に上がっていく状態になっています。 これらをいろいろなパラメータから制御して花火のような動きに仕上げていきます。 名前は「burst」としました。このパーティクルを丸く広がる表現に使います。
パーティクルを丸く広がる動きにする
まずは中心から丸く広がる動きだけをつけてみます。 Rate over Time 毎秒生成するパーティクルの数を0にします。 Burstsの+ボタンをクリックしてリストを追加します。 Timeを0にしてCountを250にします。Cycleを1にしているのでタイムが0の時にパーティクルが250個生成されます。 ShapeをSphereにしてRadiusを0.5にします。 これで丸く広がる花火の動きの基礎の部分ができました。 メインのパラメータを調整してパーティクルに少しランダムな値を与えていきます。 Start Lifetimeの右側にある▼をクリックしてRandom Between Two Constantsを選びます。 2つの定数を決めてその間をランダムにしてくれます。 Start SpeedもRandom Between Two Constantsにして25~30の間のランダムに、 Start Sizeは0.3~0.6にそれぞれ設定しました。 このままでは飛び散る動きが不自然なのでスピードの調整をします。 Limit Velocity over Lifetimeを使います。 SpeedをCurveにて下にあるプリセットから選びます。 Dampenを0.15にします。 これで丸く広がる花火の動きができました。 これに少し重力を加えて下に落ちる動きも追加しましょう。 Gravity Modifierを0.2にしました。 丸く広がった後にパーティクルが下に落ちていくのでより花火っぽい表現になりました。
パーティクルに色をつける
花火は鮮やかな色が魅力でもありますのでカラフルなカラーをつけていきます。 Color over Lifetimeの設定からColorのグラデーションを調整します。 パーティクルがだんだん消えていくようにするためにAlphaがだんだん0になるようにします。 次は色をつけます。 このパーティクルはオレンジから始まってだんだん赤っぽくなるようにしました。 次は打ちあがるまでの火種の状態のパーティクルを作ります。 新規で新しいParticle Systemに設定していきます。 Rate over Timeは0にしてBurstsで0秒の時に1つだけ生成するようにします。 ShapeはConeでAngleを4に、radiusを0.1にします。 これで上に打ちあがるパーティクルの動きができました。
Sub Emittersでパーティクルを制御する
打ち上がるパーティクルが消えた時に丸く広がる花火のパーティクルが現れるようにします。 Sub Emittersの設定からDeathを選んでパーティクルはburstを選択します。 このウィンドウが出たらYes,Reparentにします。 これで打ち上がった火種が消えたら丸く広がるパーティクルに切り替わって花火の表現らしくなりました。 火種の方にもカラーを設定します。 Color over Lifetimeはオレンジ系の色でだんだん透明になるようにしました。 打ち上がるときに煙が残るようなパーティクルも作っていきます。 Start Lifetimeを0.1~0.7 Start Speedを0.05 Start Sizeを0.1~0.5 EmissionのRate over Timeを180 ShapeはSphere Radiusを0.01 ぞれぞれ値を設定しました。 デフォルトのマテリアルでは少し単調なので阿多r市区パーティクルのマテリアルを作って割り当てます。 マテリアルをParticleからAdditiveにします。 Renderから新しく作ったマテリアルに変更します。 ここでは上の画像のようなパーティクル用にテクスチャを用意しました。 テクスチャを変えたことで表現がグッとアップしました。
小さい丸い花火も作る
先に作った丸く広がるパーティクル(burst)を複製して使います。 パラメータを変更してこれもSub Emittersのリストに入れていきます。 色味も変えてあげてカラフルな花火ができあがりました。 この記事ではUnityのパーティクルシステムを使って花火を作る方法を紹介しました。 設定できる項目がたくさんありすぎてすべて理解して使いこなすのはとても大変ですが、 特別なメッシュやテクスチャを用意しなくてもじゅうぶんな表現ができる強力なツールです。 UnityからSTYLYにアセットをアップロードする方法 この記事を読む