Unity の Particle System では大量の Particle (粒子)を放出できます。その向きや勢いなどを調節することで、様々な視覚効果を実現できます。
![Unity Particle System メインモジュールの値を Shells と同じ値に変更後の動作 Edited SS1](https://compota-soft.work/wp1/wp-content/uploads/2023/06/Unity-Particle-System-メインモジュールの値を-Shells-と同じ値に変更後の動作-Edited-SS1.png)
今回は、パーティクルシステムで、ボートや船で移動する際に発生する、水しぶきを作成する手順として、 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 モジュール
![Unity Particle System Shape(Cone)モジュールの角度を上向きにすることで上向きに形に沿ってパーティクルが放出されます..](https://compota-soft.work/wp1/wp-content/uploads/2023/06/Unity-Particle-System-ShapeConeモジュールの角度を上向きにすることで上向きに形に沿ってパーティクルが放出されます.png)
Particle System をシーンに配置する
波しぶきを立てるシーンに Particle System を配置します。
Hierarchy ウィンドウの右クリックメニュー「GameObject」→「Effects」→「Particle System」を選択します。
※ちなみに Particle System の下にあるメニュー Particle System Force Field は Particle に力を与える追加機能のようです。
![Unity Hierarchy ウィンドウの右クリックメニューから Particle System をシーンに追加します.](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-Hierarchy-ウィンドウの右クリックメニューから-Particle-System-をシーンに追加します.png)
Particle System を配置した場所から白い粒子が舞い上がるアニメーションが Game ウィンドウに表示されました。
![Unity Particle System をシーンに追加すると Game ウィンドウに白い粒子が放出され始めました.](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-Particle-System-をシーンに追加すると-Game-ウィンドウに白い粒子が放出され始めました.png)
Scene ウィンドウで別のアングルから見ると、デフォルトの Cone (円錐)型の見えない器から粒子が放出されています。
![Unity 配置直後の Particle System を Scene ウィンドウで表示した例](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-配置直後の-Particle-System-を-Scene-ウィンドウで表示した例.png)
波しぶきのサンプル
波しぶきがどのように起きているのかシミュレートしている動画が Youtube にあったので参考にしました。
これを見ると、ボートの先端からしぶきが発生して、ボートの形にそって左右どちらかの後方に移動する感じがします。
そこで、パーティクルを放出する際の器は Shape モジュールのデフォルトの Cone (円錐) 型にして、それをボートの先端から左後方と右後方に配置することにしました。
パーティクルシステムをボート先端に配置
とりあえず最初は左後方へとパーティクル(粒子)を発射する Particle System をボートの先端に、 Unity の移動ツールと回転ツールを使って配置しました。
![Unity 移動ツールで Particle System を移動する例](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-移動ツールで-Particle-System-を移動する例.png)
![Unity 回転ツールで Particle System を回転する例](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-回転ツールで-Particle-System-を回転する例.png)
粒子への重みづけ
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 と変更した場合の粒子の振る舞いの変化を表す動画です。
少しずつ重力が強くなって、粒子が下方向に移動する勢いが増しています。
![Unity Particle System メインモジュールの Gravity Modifier の値を変化させる例0.0](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-Particle-System-メインモジュールの-Gravity-Modifier-の値を変化させる例0.0.png)
![Unity Particle System メインモジュールの Gravity Modifier の値を変化させる例1.0](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-Particle-System-メインモジュールの-Gravity-Modifier-の値を変化させる例1.0.png)
![Unity Particle System メインモジュールの Gravity Modifier の値を変化させる例2.0](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-Particle-System-メインモジュールの-Gravity-Modifier-の値を変化させる例2.0.png)
![Unity Particle System メインモジュールの Gravity Modifier の値を変化させる例3.0](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-Particle-System-メインモジュールの-Gravity-Modifier-の値を変化させる例3.0.png)
少し空中に舞ってから落下してほしいので今回の Gravity Modifier は 0.5 を設定しました。
![Unity Particle System メインモジュールの Gravity Modifier の値を変化させる例0.5](https://compota-soft.work/wp1/wp-content/uploads/2023/10/Unity-Particle-System-メインモジュールの-Gravity-Modifier-の値を変化させる例0.5.png)
今回はここまで
今回は、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
コメント