【Unity】パーティクルシステムを使用してARの花火を作成してみた
夏になり、各地で花火大会が開催される季節になりました。
そこで今回はUnityでARの花火を作成する方法をご紹介していこうと思います。
Unityで花火を作成するときに使える機能が「パーティクルシステム(以下、パーティクル)」です。
ここではパーティクルの説明から、実際にパーティクルを利用して花火を作成し、AR化するところまでを解説していきます。
Contents
パーティクルとは
パーティクルとはシーン内で大量の小さな2Dの画像を生成し、アニメーションさせることによって、液体、雲、炎などの流体をシミュレーションする機能です。
この機能を応用して、実際に花火を作成していきます。
具体的な使用方法はのちほどご紹介します。
ARの設定
まずはARの設定方法を解説します。
今回は「Vuforia」を用いてARを作成します。
今回ARマーカーとして、以下の画像を用います。
Vuforiaの開発者ページで画像を登録して、データベースをダウンロードしてUnityで使える状態にしてください。ここまでの進め方はVuforiaの設定方法ページに詳細がありますのでこちらをご参考ください。
ヒエラルキーの関係が以下のように設定されていれば問題ありません。
花火の作成
いよいよパーティクルを使用して花火を作成していきます。
パーティクルの準備
まずはじめにヒエラルキービューの作成を選択して、エフェクト、パーティクルシステムを選択します。
次に、以上のようにヒエラルキービューのParticleSystemをImageTargetにドラッグ&ペーストしてください。
これでパーティクルの準備は完了です。
パーティクルの詳細設定
パーティクルの詳細を設定していきます。
ヒエラルキービューのParticleSystemを選択してください。
以上のようにパーティクルのトランスフォームを設定してください。これによりサイズを変更できます。
次に、インスペクタービューの放出を選択してください。
時間ごとの率を0にしてください。
また、バースト右下のプラスを選択して、カウントを1にしてください。
これによって出現頻度を変更できます。
次に、インスペクタービューの形状を選択してください。
角度を0、半径を0.25にしてください。
これによって打ち上げ方向の変更ができます。
次に、インスペクタービューのParticle Systemを設定します。
継続時間を4.70、開始時のスピードを11、重力を1にしてください。
これによって打ち上げの高さを変更できます。
※筆者の好みで打ち上げの高さおよびスピードを設定しているので、この値はお好みで変更していただいてかまいません。
次に、インスペクタービューの生存期間の速度リミットを設定します。
まず、左の空欄にチェックを入れてください。
次にスピード右の三角から、カーブを選択してください。
さらに減退率を0.07、動作による空気抵抗を0.01にしてください。
これによって、より自然な打ちあがり方に変更することができます。
次に色の設定をします。
インスペクタービューの生存期間の色にチェックを入れてください。
色はお好きな色を設定してください。グラデーションにすると、より花火らしく設定できます。
これで打ち上げ部分の設定は完了です。いよいよ花の部分を作成していきます。
はじめにインスペクタービューのサブエミッターにチェックを入れてください。
以上のように、右の+を選択、一番左のタブを死亡にして、真ん中の+を選択します。
これで花部分が自動生成されました。
次にヒエラルキービューのParticle System、Sub Emitter 1を選択してください。
インスペクタービューで基本設定をします。
値を以下のように変更してください。
- 拡大/縮小:x=1,y=1,z=1
- 継続時間:2.00
- 生存期間:右三角で二つの間値をランダムを選択してそれぞれ1.8、2.3
- 開始時のスピード:右▽で二つの値をランダムを選択してそれぞれ20、25
- 開始時の3Dサイズ:チェックを入れて、x=5,y=5,z=5
- 重力の大きさ:0.3
これで基本設定は完了です。
次にインスペクタービューの放出と形状の設定します。
値を以下のように設定してください。
- 時間ごとの率:0
- バーストのカウント:800
- 拡大/縮小:x=50,y=50,z=50
これで放出と形状の設定は完了です。
次にインスペクタービューの生存期間の速度リミットを設定します。
左空欄にチェックを入れて、値を以下のように設定してください。
- スピード:右三角でカーブを選択して右下がりの直線を選択
- 減退率:0.07
これで生存期間の速度リミットの設定は完了です。
次にインスペクタービューの生存期間の色を設定します。
色はお好きな色を設定してください。
上記画像のようなグラデーションを作成する方法は以下のGIFをご参考ください。
最後にトレイルを設定します。
値を以下のように設定してください。
- 生存期間:0.8
- サイズは生存期間に影響:チェックを入れる
- 生存期間の色:任意(先ほどのグラデーションを設定するときれいに見える)
- トレイル幅:0.3
- トレイルの色:任意(先ほどのグラデーションを設定するときれいに見える)
このままだと色が反映されません。以下の操作をして完了となります。
インスペクタービューのレンダラー、トレイルマテリアルをDefault-Particleに変更します。
以上で全設定が完了しました。では、実際に試してみましょう。
花火が上がりましたね!これでパーティクルを使用したARの花火が完成しました。
※おまけ
応用するといろいろな形の花火を作成することができます。暗くしてスマートフォンにターゲットを映して見てみると、花火がよりきれいに見えます。
まとめ
いかがでしたでしょうか。
今回はUnityのパーティクルシステムを用いてARの花火を作成しました。
このパーティクルの技術は花火を作成するための機能ではありませんが、応用すると花火など、様々なものを作成することができます。
ぜひみなさんもパーティクルを応用して、いろいろな形の花火を作成して楽しんでみてください!
この記事はいかがでしたか?
もし「参考になった」「面白かった」という場合は、応援シェアお願いします!