今回はParticle Systemを使って、水中を上がっていく泡の表現をつくってみましょう。
Particle Systemでは画像だけでなくメッシュ(3Dモデル)もParticleとして利用することができます。これを利用して泡のような立体もパーティクルで表現することができます。

透明で光を反射するマテリアルを作成する
まず、透明で光を反射するように設定したParticle用マテリアルを作成します。
パラメータ設定
今回設定するパラメータの一覧を掲載します。
後ほどひとつひとつ解説していくので、まずは同じように設定してみてください!
- Hierarchyを右クリック、または上部メニューのGameObjectから、Effects>Particle Systemを選択して新しいParticle Systemオブジェクトを作成します。
- Particle SystemのInspectorで、パラメータを以下のように設定します。Emission, Shape, Rendererの各モジュールにチェックがついて有効になっていることを確認してください。
- Start Speed:1
- Start Size:0.2
- Emissionモジュール
- Rate over Lifetime:1
- Shapeモジュール
- Shape:Rectangle
- Scale:X=10, Y=10(泡を発生させたい範囲に合わせてください)
- Rendererモジュール
- Render Mode:Mesh
- Meshes:Sphere(右側の◎ボタンから選択)
- Unityに最初から用意されているプリミティブメッシュです。詳細はこちら。
- Material:上で作成したマテリアルを指定(ドラッグ&ドロップまたは◎から選択)

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

各パラメータの解説
ここから各パラメータについて解説していきます。
パラメータをいじると、どんな変化が起きるのかを実際に操作しながら試してみてください。
泡の上がる速さを変える──Start Speed
Particleが発射された時の速度を設定します。

泡の大きさを変える──Start Size
Particleの大きさを変えます。
もっとこだわってみたい人はRandom Between Two Constantsに設定して大きさがバラつくようにしてみてもいいでしょう。

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

泡の発生範囲を変える──Shapeモジュール
ShapeモジュールではParticleの発生範囲を変更できます。
Rectangleに設定すると長方形の平面から泡が出ます。Scaleで範囲を調整してください。
表示方法を設定する──Rendererモジュール
RendererモジュールではParticleの表示方法や、マテリアルを設定することができます。
今回はRender ModeをMeshに変更することで、3DモデルをParticleとして表示するように設定しました。

こちらの記事と組み合わせれば、より水中らしさを演出することができます。

今回はParticle Systemを使って水中を上がっていく泡の表現を作成する方法を紹介しました。
Particle Systemでは画像だけでなく3DモデルもParticleにできます。プリミティブのモデルだけでも工夫次第で様々な表現ができるので試してみましょう!
Particles系シェーダーはParticle System用につくられたシェーダーです(他のシェーダーではParticle Systemの一部機能が使えない場合があります)。
Particles/Standard SurfaceシェーダーはStandardシェーダーと同様に光の反射や陰影が表現できます。設定項目もほぼ同じなので、「ガラス風の表現をつくる」の記事なども参考にしてみてください。