今回はParticle Systemを使って、たくさんの風船が空へ飛んでいく表現をつくってみましょう。
「泡」の作例の応用編として、Particle Systemでメッシュを扱う際のポイントを解説します。

モデルを用意する
風船の3Dモデルと、必要に応じてテクスチャ等を用意します。
3Dモデルは1メッシュ・1マテリアルに統合されたものを使ってください。
また、テクスチャはモノクロにしておくと、Particle Systemでの色変更(Start ColorやColor over Lifetime)に便利です。
マテリアルの作成
続いてマテリアルを作成します。
- Projectウインドウを右クリックし、Create>Materialを選択して新規マテリアルを作成します。
- 作成したマテリアルを選択してInspectorを確認します。最初にShaderをParticles>Standard Surfaceに変更してください。
- 続いてマテリアルの各項目を以下のように設定します。
- Rendering Mode:Opaque(テクスチャに透過部分がある場合はFadeやTransparent)
- Albedo:テクスチャを指定(あれば)

パラメータ設定
今回設定するパラメータの一覧を掲載します。
後ほどひとつひとつ解説していくので、まずは同じように設定してみてください!
- Hierarchyを右クリック、または上部メニューのGameObjectから、Effects>Particle Systemを選択して新しいParticle Systemオブジェクトを作成します。
- Particle SystemのInspectorで、パラメータを以下のように設定します。Emission, Shape, Rendererの各モジュールにチェックがついて有効になっていることを確認してください。
- Start Size:1(メッシュの大きさによって調整)
- Emissionモジュール
- Rate over Lifetime:2
- Shapeモジュール
- Shape:Rectangle
- Scale:X=10, Y=10(風船を発生させたい範囲に合わせてください)
- Rendererモジュール
- Render Mode:Mesh
- Meshes:用意したモデルのメッシュ(ドラッグ&ドロップまたは◎から選択)
- FBX等の3Dモデルファイルを右向き▼ボタンから展開し、中にあるメッシュを選択
- Material:上で作成したマテリアルを指定(ドラッグ&ドロップまたは◎から選択)
- Render Alignment:World

設定できたら実行して見た目を確認してみましょう。

各パラメータの解説
ここから各パラメータについて解説していきます。
パラメータをいじると、どんな変化が起きるのかを実際に操作しながら試してみてください。
風船の大きさを変える──Start Size
Particleの大きさを変えます。
3Dモデルの元の大きさに対する倍率なので、ちょうどいい大きさになるように調整しましょう。

風船の量を変える──Emissionモジュール
EmissionモジュールではParticleが出現する量を設定します。
Rate over Lifetimeで1秒間に現れる風船の数を変えることができます。

風船の発生範囲を変える──Shapeモジュール
ShapeモジュールではParticleの発生範囲を変更できます。
Rectangleに設定すると長方形の平面から風船が出ます。Scaleで範囲を調整してください。
表示方法を設定する──Rendererモジュール
RendererモジュールではParticleの表示方法や、マテリアルを設定することができます。
今回はRender ModeをMeshに変更することで、3DモデルをParticleとして表示するように設定しました。
初期設定だとメッシュが視線方向に合わせて回転してしまうので、Render AlignmentをWorldに変更して回転しないようにしましょう。

また、Start ColorにRandom Colorを指定すると、白い風船をカラフルにすることができます。

3Dモデルを用意する際の注意点
Particle Systemにメッシュを指定する場合、以下の点に注意してください。
まず、表示できるのはメッシュ単位なので、複数のメッシュからなるモデルは使えません。
必要な場合は1メッシュに統合してから利用してください。
また、マテリアルもひとつしか使えません。サブメッシュ(メッシュ内でマテリアルの異なる部分)が複数あるメッシュは表示されない場合があります。

メッシュやマテリアルの統合はBlender等のモデリングソフトでおこなうことができます。
Blenderから書き出す際にはこちらの記事なども参考にしてください。

今回はParticle Systemを使って風船が飛んでいく表現を作成する方法を紹介しました。
Particle Systemでは画像だけでなく3DモデルもParticleにできます。好きな3Dモデルを使って工夫してみましょう!