Unity の Particle System では大量の Particle (粒子)を放出できます。その向きや勢いなどを調節することで、様々な視覚効果を実現できます。
今回は、パーティクルシステムで、ボートや船で移動する際に発生する、水しぶきを作成する手順として、 Particle System の配置・移動・回転、放出する際の見えない器の形、放出される粒子の重みづけを紹介します。
※ Unity のバージョンは 2021.3.25f1 Personal <DX11> です。
※表示されている 3D モデルは無料アセット「Old Sea Port」を使用しています。
関連記事
Particle System のモジュールごとのプロパティについては、以前に TopDownEngine のサンプルを調査した際にも紹介しているのでご覧ください。
- TopDownEngine 薬きょうの Patricle System の調査1/7 | Compota-Soft-Press
メインモジュール - TopDownEngine 薬きょうの Patricle System の調査2/7 | Compota-Soft-Press
Emission モジュール - TopDownEngine薬莢PatricleSystem調査3/7 | Compota-Soft-Press
Shape モジュール - TopDownEngine薬莢PatricleSystem調査4/7 | Compota-Soft-Press
Limit Velocity over Lifetime モジュール - TopDownEngine薬莢PatricleSystem調査5/7 | Compota-Soft-Press
Color over Lifetime モジュールと Size over Lifetime モジュール - TopDownEngine薬莢PatricleSystem調査6/7 | Compota-Soft-Press
Collision モジュール - TopDownEngine薬莢PatricleSystem調査7/7 | Compota-Soft-Press
Renderer モジュール
Particle System をシーンに配置する
波しぶきを立てるシーンに Particle System を配置します。
Hierarchy ウィンドウの右クリックメニュー「GameObject」→「Effects」→「Particle System」を選択します。
※ちなみに Particle System の下にあるメニュー Particle System Force Field は Particle に力を与える追加機能のようです。
Particle System を配置した場所から白い粒子が舞い上がるアニメーションが Game ウィンドウに表示されました。
Scene ウィンドウで別のアングルから見ると、デフォルトの Cone (円錐)型の見えない器から粒子が放出されています。
波しぶきのサンプル
波しぶきがどのように起きているのかシミュレートしている動画が Youtube にあったので参考にしました。
これを見ると、ボートの先端からしぶきが発生して、ボートの形にそって左右どちらかの後方に移動する感じがします。
そこで、パーティクルを放出する際の器は Shape モジュールのデフォルトの Cone (円錐) 型にして、それをボートの先端から左後方と右後方に配置することにしました。
パーティクルシステムをボート先端に配置
とりあえず最初は左後方へとパーティクル(粒子)を発射する Particle System をボートの先端に、 Unity の移動ツールと回転ツールを使って配置しました。
粒子への重みづけ
Particle System から放出される Particle (粒子) は、デフォルトでは重量が 0 の状態で動きます。
波しぶきは放物線を描いて落下していくイメージなので、Particle System のメインモジュールの Gravity Modifier プロパティの値を変更します。
メインモジュール – Unity マニュアル
Gravity Modifier Physics ウィンドウで設定する重力値をスケールします。値を 0 にすると重力が無効になります。
以下は Gravity Modifier を 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 2.0, 3.0 と変更した場合の粒子の振る舞いの変化を表す動画です。
少しずつ重力が強くなって、粒子が下方向に移動する勢いが増しています。
少し空中に舞ってから落下してほしいので今回の Gravity Modifier は 0.5 を設定しました。
今回はここまで
今回は、Unity で粒子を放出する Particle System を用いて、進むボートの先端から波しぶきがたっている映像を作成するために、シーンへの配置、位置の移動、回転、粒子への重みづけを行う手順を紹介しました。
重みづけは Gravity Modifier の値を 0 から 3 まで少しずつ変更して違いを画像や動画でも説明しました。
次回は、Particle System の粒子が水しぶきに見えるように、色とサイズと放出する数を設定します。
※この記事の続きは、作業工程を考慮してパーティクル画像の設定の記事の後に掲載します。
Unity ParticleSystemで船が進むときの波しぶきを作成2/3 | Compota-Soft-Press
参照サイト Thank You!
- Unity のリアルタイム開発プラットフォーム | 3D/2D、VR/AR のエンジン
- パーティクルシステム – Unity マニュアル
- メインモジュール – Unity マニュアル
- Shape モジュール – Unity マニュアル
- 造波抵抗 Wave Resistance of a Ship(Particleworks) – YouTube
- Particle System Force Field – Unity マニュアル
記事一覧 → Compota-Soft-Press
コメント