こんにちは!こちらの記事では、Unityのパーティクルシステムの基本的な部分について紹介していきます。
パーティクルシステムとは
煙や液体など、様々なエフェクトを作成するためにUnityに備わっている機能です。
パーティクルシステムを使ってみる
ここからはパーティクルシステムの使い方を、実際にワールドに雪を降らせながら見ていきましょう!

この記事では無料アセットの Nature Starter Kit 2 を使って作ったワールドに雪を降らせてみます。すでにワールドを作っている方は、お持ちのSceneデータを使ってやってみましょう!
パーティクルシステムの追加

hierarchy内で右クリック、今回は「Effects」>「Particle System」で「Particle System」を作成します。すると・・・

光の粒子がたくさん出現していますね。これがパーティクルです。今回は雪を降らせるので、粒子は上から下に降ってきてほしいですね。

「Particle System」の「shape」>「Rotation」のX軸の値を「180」にしてみましょう。

下に向かって粒子が落ちるようになりました!
Particle Systemで雪の表現をつくる
今のままでは雪が降っているようには見えないですね。ここからは実際にパラメーターを変更していきます。

今回は上記の赤枠のパラメータを変更しました。
「Gravity Modifer」ではパーティクルの速度を調整することが出来ます。雪はゆっくり落ちるため、落下速度を下げています。
「Rate over Time」では、一定時間内に放出されるパーティクルの量を調整することが出来ます。ここでは雪がたくさん降るのか、少しだけ降るのか、お好みに合わせて調節することが可能です
「Shape」の項目ではパーティクルを放出する場所の形状などを設定することができます。

今回は「Box」を選択し「Scale」の項目を雪が降らせたい範囲に調整しています。
このようにパーティクルで表現したいもの合わせて量や速度、範囲を調整しながら自由にエフェクトを作成することが出来ます。最後に「Prewarm」パラメータを有効にすることで、あらかじめ雪が降り続けている状態でシーンが始まります。すると・・・

雪が降っているような雰囲気になりましたね!
雨を降らせる
パーティクルシステムを使えば雨も簡単に降らすことができます!先ほど作った雪パーティクルのパラメータに変更を加えて作っていきましょう!


上記の赤枠のようにパラメータに変更を加えました。
「Start Speed」はパーティクルの初速を変更できます。雨は雪より早く落ちるので、値を「30」にして早く落下するようにしてみました。
「Start Size」でパーティクルの初期の大きさを変更できます。雨の雫は小さいので値は「0.2」にしています。
「Emission」項目の「Rate over Time」は1秒当たりのパーティクル発生量を変更できます。こちらの値は雨がどのくらい降っているのか、表現したいワールドに応じてお好みで変更してみてください!
最後に「Renderer」項目の「Render Mode」を「Stretched Billboard」に変更します。これによって、移動方向に描画が伸びるようになります。
そして「Length Scale」の値を変更して、どのくらい伸びるかを決めます。今回は値を「6」にしてみました。
すると・・・

パーティクルの形状が細長くなり、早く落ちるようになりました。以上が簡単なパーティクルの使い方でした!

「パーティクルシステム」は設定項目が多く大変ですが、その分色々な表現を作ることができます!各種パラメータについてはUnityの公式ドキュメントにあるパーティクルシステムを参考にしてみてください!

パーティクルシステムを利用してワールドに様々なエフェクトを導入してみましょう!