自分は大体パーティクルとかアセットストアに頼りがちで、買って済むませてしまうタイプなので一から作ることはほぼ無いのですが、会社で勉強会があったので一から作成してみました。
色々なソースからの付け合わせですが備忘録として残しておきます。
最終的な成果物をはじめに共有しておきます。
前置き
・Unityのバージョンは「2021.3.21f1」です。
・SkyBoxを除き、花火に関してはAssetStoreに頼らず、純粋にパーティクルのみで表現していきます。
・あらかじめSkyBoxは夜空っぽいのを適用しています。(ここ以外は何も手を加えてない状態です。)
花火のベースを作成
「花火の軌道」と「花火本体」に分けて作成します。
2つパーティクルを作成して、適当に名前をつけておきます。
私は以下としました。
・「花火の軌道」=> 「Particle System – 軌道」
・「花火本体」=> 「Particle System – 本体」
パーティクルのオレンジのアウトラインが邪魔であれば、Sceneビューにある「Gizmos」 => 「Selection Outline」のチェックを外すことでアウトラインを非表示とできます。
万が一、Sceneビューに「Gizmos」がなければ以下を参考。
軌道側
「Particle System – 軌道」を選択して、Inspectorタブの「Particle System」より以下を設定します。
Emission
Rate over Time:1
Sub Emitter
Deathを選択して「本体」パーティクルをアタッチすることで一体化させる。
アタッチする際、以下のポップアップが出てくるが「Yes, Reparent」でOK。
一体化させると以下のようになる。
本体側
「Particle System – 本体」を選択して、Inspectorタブの「Particle System」より以下を設定します。
Emission
・Rate over Time:1
・Bursts:「+」で追加して、Countを100(花火本体の粒々の数です。あまり数を多くし過ぎるとパフォーマンスに影響するので注意)
Shape
・Shape:Sphere(球状にします)
Particle System
・Start Lifetime:3(花火が消えるまでの長さ)
・Gravity Modifier:0.3(重力)
ここまできたら、以下動画キャプチャのような形になるかと思います。すでに花火っぽくなってきましたね。
本体側の装飾
「Particle System – 本体」を選択して、Inspectorタブの「Particle System」より以下を設定します。
花火っぽい曲線に成形します
はじめに「Trail」にチェックを入れます。こうすることで線状になります。
Renderer
・Materia:「Default-Particle」を選択。
・Trail Material:「Default-ParticleSystem」を選択。
・選択するマテリアルはデフォルトで既に用意されているはずです。
・Trailにチェックを入れることでRendererに「Trail Material」が表示されるようになります。
Trail
・Lifetime:0.5(本体の線が消える前での長さ)
・Width over Trail:「Curve」にする。
「Curve」にした後、「Particle System Curves」領域から曲線を左上から右下のカーブに変更(ふわっとさせる)曲がり具合は好みに合わせて調整してください。
ここまでくると、もう見た目は花火ですね。
花火に色をつけます
Trail
・Color over Trail:「Gradient」にする。Gradientにすることでグラデーションを指定できます。
「Gradient」にした後、以下、キャプチャの黄色枠を選択すると「Gradient Editor」が立ち上がるので色を調整します。
始めは分かりづらいと思いますが、上の段の矢印でAlpha値を指定できて、下の段の矢印でRGB値を指定できます。上のキャプチャを参考にしながら好みの色を指定してください。
Color over lifetime
・Color:アルファ値にグラデーションかけて、徐々に線が消えていくような淡い感じを表現していく(左よりにすると良い)
Noise
輪の散らばりに不規則性を出していきます。
・Strength:0.4(ノイズの強さ)
・Frequency:2(パーティクルの移動のノイズの滑らかさを設定できる項目らしいです)
ここまで実装した感じのイメージは以下となります。
軌道側の装飾
「Particle System – 軌道」を選択して、Inspectorタブの「Particle System」より以下を設定します。
打ち上がっていく時のひゅるひゅるを作る
はじめに「Trail」にチェックを入れます。こうすることで線状になります。
本体の時と同様に、軌道がピンクになると思いますが、一旦そのままで大丈夫です。
Renderer
・Materia:「Default-Particle」を選択。
・Trail Material:「Default-ParticleSystem」を選択。
・選択するマテリアルはデフォルトで既に用意されているはずです。
・Trailにチェックを入れることでRendererに「Trail Material」が表示されるようになります。
Noise
・Strength:0.5くらい
Trail
・Width over Trail:0.5(線の細さ)
・Color over Trail:「Gradient」にする。Gradientにすることでグラデーションを指定できます。
「Gradient」にした後、以下、キャプチャの黄色枠を選択すると「Gradient Editor」が立ち上がるので色を調整します。
グラデーションをかけて、打ち上がりと本体が出現する手前で透過をかけてます。
大枠はこれで完成です!
仕上げ
一つの花火だと味気ないので、作成した花火をコピペして色違いをつくるとより見た目が良くなります。
軌道側
コピーする前に以下を設定しておくと2度手間にならなくて良いです。
「Particle System – 軌道」を選択して、Inspectorタブの「Particle System」より以下を設定します。
Shape
花火を量産すると、それだけ密度が高くなるので、表示範囲を広げます。
・Radius:50くらい(お好みで)
Particle System
花火の高さをバラけさせることでより自然に見えます。
・Start Speed:5, 7(お好みで)
Start Speedの「▼」を押下して、「Random Between Two Constants」を指定します。
こうすることで2つの値を入力することができます。
指定した2つの値をランダム実行してくれるようになります。
花火をコピーして量産
以下キャプチャのようにあらかじ作成した花火をそのままコピって3つ用意しました。
本体側
コピーした花火の本体の色を変更します。
本体の色の変更については「こちら」のColor over Trailの設定を変更するだけでOKです。
確認
作業は以上となりますので、実際に動いてるものを確認してみましょう!
備考
パーティクル + 花火関連で添付リンクのようなサンプルも作成してみました。
合わせて参考になれば。